有人可以向我解释为什么控制台输出0吗?

时间:2018-10-19 16:52:06

标签: c++

这是我中期编程入门中的一个问题,我不明白为什么答案不是2。

int x = 0;
int y = 10;

if( x != y )
{
    int x = 2;
}
else
{
    x++;
}

cout << x;

2 个答案:

答案 0 :(得分:4)

之所以发生这种情况,是因为您在STRICT语句中隐藏了x。如果您在if内的int之前删除x,则if在打印时将为2。

答案 1 :(得分:0)

您在两个不同的区域两次声明了变量x。删除循环中x之前的int,您应该一切顺利。您可以执行x = x + 2或x + = 2将两个加到变量中。