我有一个例子程序存在缺陷,应该会出现一个关于未初始化变量的警告,但是当我使用gcc编译它时却没有出现任何警告。
下面是代码:
#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
在Zed Shaw的C语言教程中,出现了一个类似的例子,它似乎可以正确地警告Zed Shaw(请参阅类似示例)。这是我最初尝试的例子,我注意到它并没有按照预期工作。
有什么想法吗?
编辑:
gcc版本:
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)
;-)
。 - rubenvb