A-A+
有以下程序 main() { int n=0 m+1 X=2; if(!n) X-=l; i
问题详情
有以下程序 main() { int n=0,m+1,X=2; if(!n) X-=l; if(m) X-=2; if(X) X-=3; printf("%dn",x); } 执行后输出的结果是【 】。
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:-4
if-else构造了一种二路分支选择,是一种最基本的选择结构,if(条件)S1(if分结构)elseS2(else分结构),它的工作过程是:先对条件表达式进行判断,若为真(成立,值为非零),就执行if分结构(S1);否则(不成立,值为0),就执行else分结构(S2)。本题中,n=O,可以判断(!n)为真,执行“x=x-1=2-1=1;m=1”,可以判断(m)为真,执行“x=x-2=1-2=-1;”进而可以判断(x)为真,执行x=x-3=-1-3=-4。所以,最后输出为-4。