請參考下面的程序。我收到以下編譯器警告。做「int i = 10;」和「int i; i = 10;」當我是一個全局變量時執行不同的功能?
的bash-3.2 $ GCC -Wall test1.c test1.c:6:警告:數據定義沒有類型或存儲類 test1.c:6:警告:類型默認爲 'INT' 中的'聲明j'
通常,當運行時操作寫入函數之外時,會引發此警告。所以我在質疑爲什麼在全局範圍內,「int j; j = 20」會拋出警告,但「int i = 10」不會?
#include <stdio.h>
int i = 10;
int j;
j=20;
int
main(void)
{
int k;
k = 30;
printf("%d %d %d\n", i, j, k);
return 0;
}
您是否讀過警告直到結束? – DeiDei
@DeiDei:我現在看到它。 「警告:在'j'的聲明中輸入default'int'實際上是告訴j = 20是一個聲明。謝謝。 – NeilB