假設你有一個C代碼是這樣的:C函數定義爲int,但其在體內無return語句仍然編譯
#include <stdio.h>
int main(){
printf("Hello, world!\n");
printf("%d\n", f());
}
int f(){
}
它編譯罰款與海灣合作委員會,並輸出(我的系統上)是:
你好,世界!
但是..但是..這怎麼可能?我認爲C不會讓你編譯這樣的東西,因爲f()沒有返回整數的返回語句。爲什麼允許?它是C特性還是編譯器遺漏,以及從哪裏來的?
爲什麼它不讓f()返回,但不是主要() – Falmarri 2010-11-23 19:42:24
是的,這是很好的觀點:) – Nikita 2010-11-23 19:49:35