一道C语言选择结构问题

如图,是题目,答案为何是7,2+4怎么也算是6啊。。。求解,谢谢~
2025-03-23 05:16:28
推荐回答(3个)
回答1:

解析错了。第一个if(a!=1).执行的是else后面的

回答2:

答案是7,是对的;
if(a!=1);else r=1;执行后r=1;
if(b==2) r+=2;else;执行后r=3;
if(c!=3) r+=3;else;执行后r=3;
if(d==4) r+=4;执行后r=7;

回答3:

解析很正确:

#include 
main()
{
int a=1,b=2,c=3,d=4,r=0;
if(a!=1) 
; // 空语句,a==1,所以不被执行
else r=1; // a==1,所以被执行,r=1。
if(b==2) r+=2;  // b==2,所以被执行,r=1+2=3
else
; // 空语句
if(c!=3) r+=3;  // c==3,所以不被执行
else
; // 空语句
if(d==4) r+=4;  // d==4,所以被执行,r=3+4=7;
printf("%d\n", r);
}