关于c语言的条件问题

#include "stdio.h"
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); 
}

为什么第一个if语句不成立吗?第二个else if的语句应该怎么理解?

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

慕粉3491951

if(a > b > c)=>if((a > b) > c)=>if((5 > 4) > 3)=>if(1 > 3)=>if(0)else ifc-1=22>=d成立,成立返回1所以1==1成立

da多多

第一个if语句a>b>c首先程序从左往右读,a>b成立,值为1,判断变成1>c,所以第一个if不成立,else if语句理解可以将“==“号左右拆分单独看,左边(c-1>=d)成立,值为1,右边为1,所以else if语句成立
打开App,查看更多内容
随时随地看视频慕课网APP