认真学好C语言 发表于 2021-3-27 00:00:54

if else语句

int a=2,b=-1,c=2;
if(a<b)if(b<0)c=0;else c+=1;
printf("%d",c);


为什么最后c的输出结果为2
是第一个if(a<b)不执行所以整个语句不执行从而导致else也不执行 c按原数输出?

chxchxkkk 发表于 2021-3-27 00:10:08

代码没有用{}分出层次,按就近原则else c+=1应该是与if(b<0)配对的。当if(a<b)不成立,程序就直接运行到printf语句了。
页: [1]
查看完整版本: if else语句