为了账号安全,请及时绑定邮箱和手机立即绑定

解析说两个If都不满足为什么?

解析说两个If都不满足为什么?

街角疯 2016-09-24 14:56:24
int a=3,b=5, c=7; if(a>b)a=b;c=a; if(c!=a)c=b;; printf("%d,%d,%d\n",a,b,c);
查看完整描述

2 回答

已采纳
?
慕粉3491951

TA贡献12条经验 获得超0个赞

第一个if 3>5肯定不成立,

第二个if前面执行了c=a,所以也不成立

if后面没加{}只有紧跟着的第一条语句是满足条件时执行的

查看完整回答
反对 回复 2016-09-24
?
全_无_修

TA贡献11条经验 获得超6个赞

今后要树立编写出高质量代码的理念。

int a =3, b = 5, c = 7;

if( a > b ){       //if条件默认情况下之作用于一条语句。若想让if条件作用多条语句,就把多条语句用大括号括到if的条件下。

a = b;

}


c = a;    //这条语句没有在第一个语句里,这条语句在这个程序里,是一定会执行的。它一执行就是将a里的3,赋给了c。

            //这样就意味着从此开始c里的值也等于3了,此时c里的值变了。a里的值还是3。就是"c == a"(c和a相等)了。


if( c != a){  //而这里的if里的条件是“c != a”(c不等于a),由上一条语句可知“c != a”为假,所这个if条件也不满足。

c = b;

}

查看完整回答
反对 回复 2016-09-26
  • 2 回答
  • 0 关注
  • 2096 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信