C++ 请证明这一执行是正当的+; intx=5,y=10; 如果(x>0) y=y+100; 其他的 y=y+200; cout
在一个C++ 请证明这一执行是正当的+; intx=5,y=10; 如果(x>0) y=y+100; 其他的 y=y+200; cout,c++,C++,在一个if和一个else之后,需要正好有一个语句。如果条件为true,则执行if之后的语句;如果条件为false,则执行else之后的语句 现在需要了解的重要内容如下: 一个分号是一条语句。这是一个空语句,如果或后或后符合语句的要求,则将其置于后 花括号{}之间的块是一个语句。它将多个语句组合在一起,但它是一个语句,因此也满足了需求 在if或else之后的第一条语句之后出现的任何其他语句与if或else无关,将像任何其他代码一样执行 因此,要分解您的示例: int x = 5, y = 10;
if
和一个else
之后,需要正好有一个语句。如果条件为true
,则执行if
之后的语句;如果条件为false,则执行else
之后的语句
现在需要了解的重要内容如下:
代码>是一条语句。这是一个空语句,如果
或后或后符合语句的要求,则将其置于后
{}
之间的块是一个语句。它将多个语句组合在一起,但它是一个语句,因此也满足了需求if
或else
之后的第一条语句之后出现的任何其他语句与if
或else
无关,将像任何其他代码一样执行
因此,要分解您的示例:
int x = 5, y = 10;
if(x > 0)
y = y + 100;
else;
y = y + 200;
cout << "y = " << y << endl;
相当于:
if(x > 0)
y = y + 100;
else;
y = y + 200;
删除else
将提供以下功能:
if(x > 0)
y = y + 100; // first statement after if
else
; // first statement after else
y = y + 200; // separate statement uneffected by if or else
当然,语句
y=y+200代码>将被执行,因为它与if
或else
无关。在这种情况下,这两条语句都将被执行。
if(x>0)
是真的,所以第一部分会起作用
y=110
在此之后,我们到达else,这是行的结尾,下一行与if-else块无关,它将始终执行。因此
y=110+200
,因此y的最终值为310
希望这有帮助,干杯。我想您遗漏了示例代码。你能试着把它寄出去吗?那么我们可能可以帮助您。因为第二条语句是在if/else语句之外执行的。y=y+200始终是执行的,无论之前发生了什么,由于该代码>紧跟在else
之后。不要因为识别而感到困惑。你可以自己把它打印出来。我现在是为你做的,但下次请你自己做。代码的图像(或任何文本)之所以不好有很多原因,但最重要的是可访问性:看不到图像的人无法阅读图像中的文本。这非常有帮助,谢谢。
if(x > 0)
y = y + 100; // first statement after if
y = y + 200; // separate statement uneffected by if