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 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失