C语言while循环在输入非数值时终止应该怎么写?

 我来答
yzg001212
2016-06-28 · TA获得超过755个赞
知道小有建树答主
回答量:877
采纳率:20%
帮助的人:873万
展开全部
int main()
{
    char c;
    while(1)
    {
        scanf("%c",&c);
        getchar();  //注意此处用于吃掉“回车符”
         if(c>='0' && c<='9')
        {
            printf("输入合法  c=[%c]\n",c);
        }else{
            printf("输入非法  c=[%c]\n",c);
            break;
        }
    }
    
    
    return 0;
}
悄逝的流年
2016-06-28 · TA获得超过167个赞
知道小有建树答主
回答量:179
采纳率:20%
帮助的人:39.3万
展开全部
char c;
while(c = getchar(), (c >= '0') && (c <= 9)) {
    scanf("%*c"); // 吃掉回车,
    //fflush(stdin); 也可以使用fflush(stdin)清空输入缓冲区 但是这不是标准语法,有些编译器不支持
    printf("%c\n", c);  // 打印此数值
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jeanie12345699
推荐于2018-03-14 · TA获得超过149个赞
知道小有建树答主
回答量:446
采纳率:0%
帮助的人:170万
展开全部
可以通过输入一个字符来结束,如当输入a时结束,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赖新云ok
2016-06-28
知道答主
回答量:9
采纳率:0%
帮助的人:2.9万
展开全部
判断输入的值是否为0-9,不是的话就break或return
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式