求助一小问题
#include <stdio.h>void main()
{
int score;
scanf("%d",&score);
if (score < 60)
printf("The result is C\n");
else if (60 <= score <= 90)
printf);
else
printf("The result is A\n");
}运行时输入大于90的数,为何出现的是“The result is B\n”?一直想不通,请鱼油们指点。 中间那个else if语句有问题
#include <stdio.h>
void main()
{
int score;
scanf("%d",&score);
if (score < 60)
printf("The result is C\n");
else if (60 <= score&&score <= 90)
printf("The result is B\n");
else
printf("The result is A\n");
} 楼上正解,这个和编译器处理有关系,本身代码有问题,else if (60 <= score <= 90) 如果编译器从左边执行的话,输入90因为90>60所以 60<score为真是1,1<=90成立,所以会有你那个结果!如果从右边执行,正好相反! 北林之中 发表于 2013-11-4 09:56 static/image/common/back.gif
中间那个else if语句有问题
#include
请问下60 <= score <= 90 跟 60 <= score&&score <= 90 有什么区别?60 <= score&&score <= 90这条语句能理解。 60 <= score <= 90这个写法本身就是错的 ,编译器不认识!是你数学的印象吧!呵呵 ! {:1_1:}LZ数学应该很好 duzhongjieqiji 发表于 2013-11-4 10:47 static/image/common/back.gif
60
原来如此,懂了。Thank you
页:
[1]