以下程序运行结果是_____2___。 #include<stdio.h> void main()

以下程序运行结果是_____2___。
#include<stdio.h>
void main()
{
int x=2, y=-1,z=2;
if(x<y)
if(x<0)
z=0;
else
z+=1;
printf(“%d\n”,z);
}
哪位大神告诉我答案对不对,为什么我算是3呢

if(x<y) {
  if(x<0) {
    z=0;
  } else {
    z+=1;
  }
}

最终结果就是 2 ,整理过的代码如上, if...else... 是就近匹配原则

追问

你的意思是if里嵌套一个if吗

哦~我懂了谢谢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-16
你算的对的
第2个回答  2016-01-16
不是3么?追问

你方便用电脑敲一下吗

追答

哪一本书?

追问

这是2013年6月安徽计算机二级的题目

追答

题目网上有些是错的