| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 12794 人关注过本帖
标题:不满足while循环条件时,为什么还会执行while语句?
取消只看楼主 加入收藏
勿乱
Rank: 2
等 级:论坛游民
帖 子:21
专家分:58
注 册:2017-2-7
结帖率:100%
收藏
 问题点数:0 回复次数:3 
不满足while循环条件时,为什么还会执行while语句?
下面是一个百分制成绩转换成等级问题,输入80,预想的结果应当是输出"B"才对呀,80不满足小于0大于100,应该会跳过while语句,执行if语句呀,为什么不满足while条件还会执行while语句?
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
2017-02-07 17:57
勿乱
Rank: 2
等 级:论坛游民
帖 子:21
专家分:58
注 册:2017-2-7
收藏
得分:0 
回复 3楼 zbjzbj
非常感谢
2017-02-07 18:33
勿乱
Rank: 2
等 级:论坛游民
帖 子:21
专家分:58
注 册:2017-2-7
收藏
得分:0 
回复 5楼 cuichengde19
其实我是想实现当 输入的数值不满足1到100时输出 error,然后提示继续输入数据,循环下去直到输入正确,而不是输入错误数据就直接终止程序。
2017-02-07 20:10
勿乱
Rank: 2
等 级:论坛游民
帖 子:21
专家分:58
注 册:2017-2-7
收藏
得分:0 
回复 7楼 九转星河
我改成了这样,没问题了,但我觉得程序有点冗杂,用了两个输入语句
 #include<stdio.h>
   int main()
   {
       int score;
       char grade;
       printf("Please input score:");
       scanf("%d", &score);
       while(score < 0 || score > 100)
       {
             printf("Input error!\n");
             printf("Please input score:");
             scanf("%d", &score);
       }
        if (score >= 90)
             grade = 'A';
        else if (score >= 80)
             grade = 'B';   
        else if (score >= 70)
             grade = 'C';  
        else if (score >= 60)
             grade = 'D';
        else
             grade = 'E';
        printf("grade:%c\n", grade);
        return 0;
}
2017-02-07 20:41
快速回复:不满足while循环条件时,为什么还会执行while语句?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044490 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved