一个c程题.假定所有变量均已正确定义,则下列程序段运行后x的值是(B ).a=b=c=0; x=35;if(!a) x--; else if(b); if(c) x=3; else x=4;A.34 B.4 C.35 D.3为什么选b?a不就是真吗?因为a=0,0不就是真吗?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 08:47:50

一个c程题.假定所有变量均已正确定义,则下列程序段运行后x的值是(B ).a=b=c=0; x=35;if(!a) x--; else if(b); if(c) x=3; else x=4;A.34 B.4 C.35 D.3为什么选b?a不就是真吗?因为a=0,0不就是真吗?
一个c程题
.假定所有变量均已正确定义,则下列程序段运行后x的值是(B ).
a=b=c=0; x=35;
if(!a) x--;
else if(b);
if(c) x=3;
else x=4;
A.34 B.4 C.35 D.3
为什么选b?
a不就是真吗?因为a=0,0不就是真吗?

一个c程题.假定所有变量均已正确定义,则下列程序段运行后x的值是(B ).a=b=c=0; x=35;if(!a) x--; else if(b); if(c) x=3; else x=4;A.34 B.4 C.35 D.3为什么选b?a不就是真吗?因为a=0,0不就是真吗?
因为你没有看清程序的结构层次.
这个程序分为三部分:
第一部分:
a=b=c=0; x=35;
第二部分:
if(!a) x--;
else if(b); //这里if(b)后的“;”表示这个if语句中的else结束了,即此if语句结束了.
第三部分:
if(c) x=3;
else x=4;
如果像你说的,程序应该这样写:
a=b=c=0; x=35;
if(!a) x--;
else if(b)
if(c) x=3;
else x=4;
这样就表示后面的if(c)是嵌套在第一个if里面的.
这里的x是先被x--成为34,又被x=4赋值为4的.
所以最后x=4,选择B.
明白了么?