为什么输出不是10甚至5??
void main()
{
int a=10;
goto here;
{
int a=5;
here:
printf("%i",a);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:垃圾值
Qui*_*mby 13
因为有两个a变量,所以在打印语句中第二个变量会影响第一个变量。由于您跳过了它的初始化,因此输出是垃圾。
请注意,在 C++ 中跳过初始化是一个编译器错误,在 C 中,您只会得到您观察到的未初始化值。
此外,它是int main(),不是void main()。
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |