C语言基础问题,既然第一个if语句成立了,那么直接打印,完事了,为什么还要执行else if语句呢?
答案:1 悬赏:70 手机版
解决时间 2021-03-06 17:41
- 提问者网友:我是女神我骄傲
- 2021-03-06 05:46
void main()
{
int a=5,b=4,c=3,d=2;
if(a>b>c)
printf("%d\n",d);
else if((c-1>=d)==1)
printf("%d\n",d+1);
else
printf("%d\n",d+2);
最佳答案
- 五星知识达人网友:不如潦草
- 2021-03-06 06:04
a>b>c这样的表达式是等价于(a>b) > c的。而a>b是成立,即a>b这个表达式的值为1.
故a>b>c等价于1>c所以这是不成立的。
同理c-1>=d这个表达式的值是1,所以执行else if部分。
故a>b>c等价于1>c所以这是不成立的。
同理c-1>=d这个表达式的值是1,所以执行else if部分。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯