| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1215 人关注过本帖
标题:c语言do..while问题
只看楼主 加入收藏
thunder11102
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-3-29
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:27 
c语言do..while问题


 #include <stdio.h>
main()
{
int i;
do
{
  scanf("%d",&i );
  printf("af");
}
while(i == 100);
printf("%d",i);
}

①若直接输入非整型数,则会输出 af-858993460
   ................正常
②若输入100,就会让再次输入,这时没问题,但在此时输入的是非整型数就会循环不断打印af   
   .................不正常啊!!!

 

求解!!!
搜索更多相关主题的帖子: 100 include 
2012-04-02 10:21
飞莲
Rank: 2
等 级:论坛游民
帖 子:42
专家分:64
注 册:2011-12-28
收藏
得分:0 
需要跳过刚才输入的
程序代码:
#include <stdio.h>
int main(void)

 {
    int i,re;
    do{
           re=scanf("%d",&i );
           printf("af\n");
           if(re==0)
           scanf("%*s");
    }while(i==100);
    printf("%d",i);
    return 0;
}

这样改改

[ 本帖最后由 飞莲 于 2012-4-2 14:03 编辑 ]
2012-04-02 10:41
Dongtengpeng
Rank: 1
等 级:新手上路
帖 子:16
专家分:2
注 册:2012-3-4
收藏
得分:0 
输入非整型数?比如0.3?这样输入输出就是af0啊
而且先输入100.再输入非整型数也没有出现你说的那种情况。。。
2012-04-02 10:44
thunder11102
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-3-29
收藏
得分:0 
回复 3楼 Dongtengpeng
输入字符试试
2012-04-02 18:14
chinaflag
Rank: 2
来 自:福建泉州
等 级:论坛游民
帖 子:46
专家分:83
注 册:2012-4-1
收藏
得分:0 
我试过没有出现你说的这种情况,一切正常....比如输入0.3则会输出af0,输入100再输入非整数也是这样的...
2012-04-02 18:16
chinaflag
Rank: 2
来 自:福建泉州
等 级:论坛游民
帖 子:46
专家分:83
注 册:2012-4-1
收藏
得分:0 
回复 4楼 thunder11102
你定义的是整形  输入字符型 自然会错误的....
2012-04-02 18:19
chinaflag
Rank: 2
来 自:福建泉州
等 级:论坛游民
帖 子:46
专家分:83
注 册:2012-4-1
收藏
得分:0 
确实是这样  我试了一下 我也是新手  等高手来解答吧...
2012-04-02 18:24
thunder11102
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-3-29
收藏
得分:0 
回复 2楼 飞莲
那个,高手
你能不能给我详解一下,有点看不懂啊!!!
2012-04-02 18:44
thunder11102
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-3-29
收藏
得分:0 
回复 6楼 chinaflag
最初我是想让输错时,循环重输的,
刚开始循环条件是 i == -858993460
(由于在VC中输入不是相匹配类型的数据就会赋给 i 一个值即 -858993460 )
所以输入是字符时,就会循环重新输入,但不知为什么,循环不断
2012-04-02 18:55
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
基础不扎实。你仔细测试过scanf()的行为没有?

授人以渔,不授人以鱼。
2012-04-02 18:57
快速回复:c语言do..while问题
数据加载中...
 
   



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

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