1. 程式人生 > 其它 >4.5 註解與習題

4.5 註解與習題

到目前為止,本書所需要介紹的C語言知識已經全部講完了,本章涉及了指標和遞迴
標頭檔案,副作用及其他
讀者應該已經知道main函式也是一個普通的函式(甚至可以遞迴呼叫),其返回值將告知作業系統,在演算法競賽中應當總是等於0,唯一的謎團就是#include<stdio.h>
筆者嘗試的程式碼如下

點選檢視程式碼
#include<stdio.h>
int j = 0;
int main(int i)
{
	if(j == 5)
		return 0;
	main(j++);
	printf("hello world!\n");
	return 0;
}

include<stdio.h>是標頭檔案,實踐者的理解方式就是--不加這一行時會出現社麼錯誤,反過來就說明了這一行的作用,不加這一行的編譯警告就是:

warning: incompatible implicit declaration of built-in function 'printf' [enabled by default]
也就是說,printf的隱式定義出了問題,這個標頭檔案和printf有關。還記得第一次介紹math.h是怎麼講的嗎?如果要使用數學相關的函式,需要包含這個標頭檔案。換句話說,標頭檔案的作用就是:包含了一些函式,供主程式使用。標頭檔案裡面並沒有printf的原始碼,而只有他的宣告,printf屬於libc的一部分,有興趣的讀者可以自行查閱相關資料。