m0_59171101 2021-06-17 17:03 采纳率: 80%
浏览 11
已采纳

Ifelse语句的c语言问题求答 越详细越好 希望用萌新能听懂的讲解 谢谢!

If x<y是假不成立 往下看 y>0为真执行z=0,不是应该不执行else语句嘛 那么输出z应该为0 若不执行else语句z=z+1 也应该是1 为什么答案等于2 请解释详细一些 是小白 谢谢 越详细越好!

  • 写回答

2条回答 默认 最新

  • qfl_sdu 2021-06-17 17:22
    关注

    解析如下:

    如有帮助,请采纳一下,谢谢。

    main()
    {
    	int x =2,y =-1,z =2;
    	if(x<y)  //x=2,y = -1,x<y 不成立,所以if的代码块不执行
    	if(y<0) z = 0;  //else与其距离最近的if是一对,if(y<0) z=0;else z+=1;这些是一个完整的语句。
    	else z+=1;  //这个完整的语句,作用范围在if(x<y)下面,因为x<y不成立,所以这个if else语句不执行
    	printf("%d \n",z);
    }
    
    //上面的代码等价于:
    main()
    {
    	int x =2,y =-1,z =2;
    	if(x<y)  //x=2,y = -1,x<y 不成立,所以if的代码块不执行
    	{
    		if(y<0) 
    			z = 0;  //else与其距离最近的if是一对,if(y<0) z=0;else z+=1;这些是一个完整的语句。
    		else 
    			z+=1;  //这个完整的语句,作用范围在if(x<y)下面,因为x<y不成立,所以这个if else语句不执行
    	}
    	printf("%d \n",z);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 51寻迹小车定点寻迹
  • ¥15 爬虫爬取网站的一些信息
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
  • ¥15 麒麟V10桌面版SP1如何配置bonding
  • ¥15 Marscode IDE 如何预览新建的 HTML 文件