19.以下程序的输出结果是 main( ) {int x=2,y=-1,z=2; if(x<y) if(y<0) z=0; else z+=1;
答案:5 悬赏:70
解决时间 2021-02-17 02:25
- 提问者网友:溺爱和你
- 2021-02-16 15:32
19.以下程序的输出结果是 main( ) {int x=2,y=-1,z=2; if(x<y) if(y<0) z=0; else z+=1;
最佳答案
- 二级知识专家网友:底特律间谍
- 2021-02-16 15:39
结果是Z=2;
分析:关键是看else与哪个if配对;由于else最靠近第二个if,所以是与第二个if配对的(就近原则),也就是第一个if没有else,从整个程序来说,先判断第一个if语句,因为x>y,所以不执行第一个if里面的所有语句(也就是不执行这两个语句:if(y<0) z=0; else z+=1;),也就是z没有变,依旧是2,
分析:关键是看else与哪个if配对;由于else最靠近第二个if,所以是与第二个if配对的(就近原则),也就是第一个if没有else,从整个程序来说,先判断第一个if语句,因为x>y,所以不执行第一个if里面的所有语句(也就是不执行这两个语句:if(y<0) z=0; else z+=1;),也就是z没有变,依旧是2,
全部回答
- 1楼网友:一叶十三刺
- 2021-02-16 17:32
main( )
{
int x=2,y=-1,z=2;
if(x<y)
if(y<0)
z=0;
else
z+=1;
}
这样比较清楚。
如果输出Z的话,就是2.
{
int x=2,y=-1,z=2;
if(x<y)
if(y<0)
z=0;
else
z+=1;
}
这样比较清楚。
如果输出Z的话,就是2.
- 2楼网友:孤老序
- 2021-02-16 17:14
main( )
{
int x=2,y=-1,z=2;
if(x<y)
if(y<0)
z=0;
else
z+=1;
}
因为刚开始你给Z赋值的是2 ,然后在实现else语句,Z自加1,所以如果输出的是z的话好像是3吧!
{
int x=2,y=-1,z=2;
if(x<y)
if(y<0)
z=0;
else
z+=1;
}
因为刚开始你给Z赋值的是2 ,然后在实现else语句,Z自加1,所以如果输出的是z的话好像是3吧!
- 3楼网友:我住北渡口
- 2021-02-16 16:34
以下程序的输出结果是 main( )
{
int x=2,y=-1,z=2;
if(x<y)
if(y<0)
z=0;
else z+=1;
x=2,y=-1,z=3
{
int x=2,y=-1,z=2;
if(x<y)
if(y<0)
z=0;
else z+=1;
x=2,y=-1,z=3
- 4楼网友:山河有幸埋战骨
- 2021-02-16 16:16
你的问题就是在else到底和谁配对,,,告诉你吧:。。。。“else总是跟它最接近的if配对”。。。受人以鱼还不如授之以渔。。。。。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯