计算机二级选择结构第九题

img

img


第九题,复合语句为什么会有不执行的部分,语句不应该都执行嘛,而且为什么选项A那个就可以全都执行,但是C就不可以

这里你要明白逗号和分号是完全不一样的。
A是逗号,连续的逗号是一条语句,不是多条语句,叫做逗号表达式
C是分号,分号间隔的是多条语句。
所以,C的问题是,if语句的代码块只有第一个分号前的c=a。而后面两条语句不是if代码块的,无论if是否成立都会运行,所以自然有问题

A选项里的赋值语句用“,”分隔开,直到“;”之前都属于一句。
if不带大括号{}的情况下只执行后面一句。而C选项c=a;已经是一句,执行到这就跳出if了。