有以下程序
main()
int n=0,m=l,x=2;
if(!n) x-=1;
if(m) x-=2;
if(x) x-=3;
printf("%d\n",x);
执行后输出的结果是______。
参考答案:-4
解析: 本题考核的知识点是 if...else结构的应用。if…else构造了一种二路分支选择,是一种最基本的选择结构,if(条件) S1(if分结构) else S2(else分结构),它的工作过程是:先对条件表达式进行判断,若为真(成立,值为非零),就执行if分结构(S1);否则(不成立,值为0),就执行else分结构(S2)。本题中,n=0,可以判断(!n)为真,执行x=x-1=2-1=1;m=1,可以判断(m)为真,执行x=x-2=1-2=-1;进而可以判断(x)为真,执行x=x-3=-l-3=4。所以,最后输出为叫