-
阿旭_
以下代码变形得(加回{}之后的样子如下)#include<stdio.h>int main (){
int a=2,b=-1,c=2;
if(a<b){
if(b<0){
c=0;
}else {
c+=1;
}
}
//因为a>b(2>-1)所以没有走if里的内容,c还等于原来的值
printf("%d\n",c);
return 0;
}
-
慕侠7838451
因为第一个if都不成立啊,所以c没有变化
-
qq_励诚项目张亮_03840128
if 不成立,直接输出初值
-
磊哥哥
你第一个if判断了。a<b 判断完没有给任何返回值,跟没判断一样。
-
慕课朵颐3509194
else和它上面最近的没有被配对的if进行配对。因而这个else是和第二个if配对的。第一个if没有else,既然第一个if条件就不成立,则会跳到if下的语句执行。
-
Lancelot2
代码开始先判断if(a<b) 因为不正确所以只跳到printf("%d\n",c); 而c初始值为2