对于逻辑运算符理解的误区
编辑
24
2024-07-07
对于逻辑运算符理解的误区
今天在写作业时遇到了一个问题,题目是
写一个输入三个整数然后输出最大数的程序
我写的代码是
`#include
int main(){
int a,b,;
scanf(“%d %d %d”,&a,&b,&c);
if(a>b>c||a>c>b){
printf("max=%d",a);
}
if(b>a>c||b>c>a){
printf("max=%d",b);
}
if(c>a>b||c>b>a){
printf("max=%d",c);
}
}`
但是他返回的结果是
这里的话就是我对逻辑运算符理解有误区了
实际上,表达式a>b>c
并不用于同时比较三者之间的关系。它是按照优先级和结合性来进行计算的,首先计算a>b
,得到一个布尔结果(0或者1),然后再用这个结果与c
进行比较。
- 0
- 0
-
分享