以下程序的输出结果是() #include"stdio.h" void main() {int x=2,y=-1,z=2; if(x<y) if(y<0)z=0;

else z+=1;
printf("%d\n",z);
}
A、3 B、2 C、1 D、0
要过程

第1个回答  2012-05-30
x = 2 y = -1 所以x<y不为真 执行 z+=1 z原来值为2 执行完之后变为3
选A追问

错了啊!答案选B

追答

哦 对不起 我看错了

你的代码弄整齐之后 是这样的
int x=2,y=-1,z=2;
if(x<y)
if(y<0)
z=0;
else
z+=1;
printf("%d\n",z);
因为x<y不为真 所以 if(y<0) z=0; else z+=1; 都不会被执行
下一句执行的是 printf("%d\n",z); 输出为2

本回答被提问者和网友采纳
第2个回答  2012-05-30
答案为B
由于判断条件x<y不为真,所以接下来的if(y<0)z=0;else z+=1;不会运行,输出z=2