关于网友提出的“ 为什么输入975还能通过,不显示出错误”问题疑问,本网通过在网上对“ 为什么输入975还能通过,不显示出错误”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 为什么输入975还能通过,不显示出错误描述:
#include
void main()
{
int result;
printf("学生的成绩:\n");
scanf("%d",&result);
if ((result*10)%10!=0||result>100||result<0)
printf("您输入的学生成绩有错误,请重新输入\n");
else if (result<60)
printf("该学生的成绩等级为E\n");
else if (60<=result&&result<=69)
printf("该学生的成绩等级为D\n");
else if (70<=result&&result<=79)
printf("该学生的成绩等级为C\n");
else if (80<=result&&result<=89)
printf("该学生的成绩等级为B\n");
else
printf("该学生的成绩等级为A\n");
}
解决方案1:float强制转换为int再求余

你定义的是整数,读的格式是%d,当然不会有错。读进来的就是97