问题描述
void main()
{
int i,n,count = 0;
printf("%d\n",i);
printf("%d\n",n);
while (count != 10)
{
printf("%d",i);
i++;
count++;
}
}
如果给我一些垃圾值,那么如何将相同的值分配给'n'变量?
解决方法
您已经观察到i
的值是不确定的。在您的环境中,它恰好为零。使用不同的编译器,可能碰巧是其他东西。那里没有谜,只是偶然。
如果它给我一些垃圾值,那怎么可能是相同的值 被分配给'n'变量?
它不能可靠。 (它将在某些编译器上工作,并且在大多数禁用了优化的情况下都可以工作,但是通常,您不能可靠地复制未初始化变量的不确定值。)