为什么我得到垃圾值作为输出?
Why I'm Getting Garbage Value as output?
为什么输出不是10甚至5?
void main()
{
int a=10;
goto here;
{
int a=5;
here:
printf("%i",a);
}
}
输出:垃圾值
因为有两个 a
变量,第二个在打印语句中遮盖了第一个。由于您跳过了它的初始化,因此输出是垃圾。
请注意,在 C++ 中跳过过去的初始化是一个编译器错误,在 C 中,您只会得到您观察到的未初始化的值。
还有,是int main()
,不是void main()
。
为什么输出不是10甚至5?
void main()
{
int a=10;
goto here;
{
int a=5;
here:
printf("%i",a);
}
}
输出:垃圾值
因为有两个 a
变量,第二个在打印语句中遮盖了第一个。由于您跳过了它的初始化,因此输出是垃圾。
请注意,在 C++ 中跳过过去的初始化是一个编译器错误,在 C 中,您只会得到您观察到的未初始化的值。
还有,是int main()
,不是void main()
。