我有一個示例有缺陷的程序應該給出一個有關未初始化變量的警告,但是當我編譯它時,gcc不會給我任何警告。C - 用-Wall編譯並不會警告未初始化的變量
下面是代碼:
#include <stdio.h>
int main()
{
int foo;
printf("I am a number: %d \n", foo);
return 0;
}
這是我跑:cc -Wall testcase.c -o testcase
而且我沒有得到任何反饋。據我所知,這應該產生:
testcase.c: In function 'main':
testcase.c:7: warning: 'foo' is used uninitialized in this function
這似乎是在His C的教程similar example正確警告肖捷思銳)。這是我第一次嘗試的例子,並注意到它沒有按預期工作。
任何想法?
編輯:
的gcc版本:
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)
使用Clang,用它來完成';-)'。 – rubenvb
rubenvb,原來是什麼工作,張貼作爲答案,我會接受它! –