有關函數宣告所放的位置
我試著把自己宣告的func1()放在不同位置,目前答案是可以跑出來,但似乎有被編繹器警告?不知是否有何隱患?
如下:
int main(void)
{
printf("I ");
func1();
printf(" C very much.");
return 0;
}
void func1(void);/*本來這個應在int main()之前宣告的,但我移到此處,甚至整個程式的最後*/
void func1(void)
{
printf("like");
} /*至於這個函數的本體放哪應無所謂吧?*/
再來還有一個疑問,課本中說如果我拿掉void func1(void);這個函數宣告,然後去編繹,會報告錯誤,因為這個雛型是為了編譯器能夠正確的呼叫func1()。
但我拿掉後再跑的結果還是跑出正確結果了,這是怎麼回事?
|