我正在检查范围规则问题和所有问题,然后得到一个代码片段,如下:
#include <stdio.h>
int main()
{
int x = 1, y = 2, z = 3;
printf(" x = %d, y = %d, z = %d \n", x, y, z);
{
int x = 10;
float y = 20;
printf(" x = %d, y = %f, z = %d \n", x, y, z);
{
int z = 100;
printf(" x = %d, y = %f, z = %d \n", x, y, z);
}
}
return 0;
}
如果我将最后打印更改为:
printf("x = %d, y = %d, z = %d \n", x, y, z);
我得到以下输出,我不明白:(IDEONE 链接) http://ideone.com/BeU7al
x = 10, y = 0, z = 1077149696
那么,你能解释一下为什么 z 打印这个值吗?