猿问

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

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);


街角疯
浏览 2098回答 2
2回答

慕粉3491951

第一个if 3>5肯定不成立,第二个if前面执行了c=a,所以也不成立if后面没加{}只有紧跟着的第一条语句是满足条件时执行的

全_无_修

今后要树立编写出高质量代码的理念。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;}
随时随地看视频慕课网APP
我要回答