这是我中期编程入门中的一个问题,我不明白为什么答案不是2。
int x = 0;
int y = 10;
if( x != y )
{
int x = 2;
}
else
{
x++;
}
cout << x;
答案 0 :(得分:4)
之所以发生这种情况,是因为您在STRICT
语句中隐藏了x
。如果您在if
内的int
之前删除x
,则if
在打印时将为2。
答案 1 :(得分:0)
您在两个不同的区域两次声明了变量x。删除循环中x之前的int,您应该一切顺利。您可以执行x = x + 2或x + = 2将两个加到变量中。