那么很多人也許就會想,那我們何必還要聲明這一步呢?我們只要把所有的函數(shù)的定義都放在前面不就可以了嗎?這種想法是不可取的,一個好的程序員總是在程序的開頭聲明所有用到的函數(shù)和變量,這是為了以后好檢查。
前面說了,在調(diào)用之前,必須先聲明函數(shù),所以下面的做法也是正確的(但在這里我個人并不提倡)。
main()
{
void a();
a();
}
void a()
{
int num;
scanf(%d,&num);
printf(%d\n,num);
}
一般來說,比較好的程序書寫順序是,先聲明函數(shù),然后寫主函數(shù),然后再寫那些自定義的函數(shù)。
既然main()函數(shù)可以調(diào)用別的函數(shù),那么我們自己定義的函數(shù)能不能再調(diào)用其他函數(shù)呢?答案是可以的。看下面的例子:
void a();
void b();
main()
{
a();
}
void a()
{
b();
}
void b()
{
int num;
scanf(%d,&num);
printf(%d\n,num);
}
main()函數(shù)先調(diào)用a()函數(shù),而a()函數(shù)又調(diào)用b()函數(shù)。在C語言里,對調(diào)用函數(shù)的層數(shù)沒有嚴(yán)格的限制,我們可以往下調(diào)用100層、1000層,但是在這里我們并不提倡調(diào)用的層數(shù)太多(除非是遞歸),因為層數(shù)太多,對以后的檢查有一些干擾,函數(shù)調(diào)過來調(diào)過去,容易讓自己都暈頭轉(zhuǎn)向。
某些人可能就不明白了,看上面的例子,好象使用函數(shù)后,程序變的更長了,更不讓人理解。當(dāng)然,我舉的這個例子的確沒有必要用函數(shù)來實現(xiàn),但是對于某些實際問題,如果不使用函數(shù),會讓程序變的很亂,這涉及到參數(shù)問題,我們下一節(jié)再說。
相關(guān)推薦:計算機等級考試二級C語言教程匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |