100||result<0)printf("您输入的学生成绩有错误,请重新输入\n"); else if (resu" />

为什么输入975还能通过,不显示出错误

来源:互联网  时间:2016/7/13 1:22:45

关于网友提出的“ 为什么输入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:

引用 2 楼 qq_21327741 的回复:
那我应该怎么改才能让97.5成功输入呢,改为float类型的时候就不能进行求余
float强制转换为int再求余 为什么输入975还能通过,不显示出错误解决方案2:

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

上一篇fread函数读出来是乱码,求破。。。
下一篇使用openssl的AES_encrypt加解密出问题
明星图片
相关文章
《 为什么输入975还能通过,不显示出错误》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)