当a=3,b=2,c=1时 表达式f=a>b>c的值为什么是0
展开全部
因为f=a>b>c可以写成f=((a>b)>c),a>b是3>2为真,值为1;然后1>c是1>1为假,值为0;最后赋值给f,所以f=0。
这个式子的解答主要在于理解运算符的优先级。
扩展资料:
C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。下面按计算的优先顺序,分别说明不同作用的表达式。需要特别指出,在C语言标准中,并没有结合性的说法。
相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。因此++i++应解释为++(i++)。而与或非的运算优先级都不一样,因此a && b || b && c解释为(a && b) || (b && c)。
合理使用优先级可以极大简化表达式。
运算符优先级等级口诀:
圆方括号、箭头一句号, 自增自减非反负、针强地址长度,
乘除,加减,再移位,
小等大等、等等不等,
八位与,七位异,六位或,五与,四或,三疑,二赋,一真逗。
其中“,”号为一个等级分段。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询