为什么输出不是10个甚至5个??
void main()
{
int a=10;
goto here;
{
int a=5;
here:
printf("%i",a);
}
}
输出:垃圾值
最佳答案
因为有两个a
变量,第二个阴影在打印语句中的第一个。由于您跳过了它的初始化,因此输出是垃圾。
请注意,在 C++ 中跳过初始化是编译器错误,在 C 中,您只会获得您观察到的未初始化值。
另外,它是int main()
,不是 void main()
.
关于c++ - 为什么我将垃圾值作为输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69049359/