与GCC输出混淆

时间:2016-01-01 17:02:34

标签: c gcc

最近我安装了Ubuntu,显然我正在B=GP编译我的C代码。我遇到了以下代码:

gcc

输出为::

#include <stdio.h>
main()
{
    int i = 10,j = 20, k;
    printf("i=%d  j=%d  k=%d\n", i, j, k);
}

但据我所知,k值的输出应该是Garbage值,因为它尚未初始化。

我在这里缺少什么东西吗?

2 个答案:

答案 0 :(得分:2)

您发布的程序不能指望任何内容,0是完全可能的垃圾值。

此外,main()必须具有返回值,且必须为int

答案 1 :(得分:2)

它是未定义的行为,因此一切皆有可能,包括要打印的0 0如何不是垃圾值?