| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2331 人关注过本帖
标题:程序重复不了,scanf语句不执行,不知道怎么回事,大神给看看
只看楼主 加入收藏
C初见
Rank: 2
来 自:四川
等 级:论坛游民
帖 子:61
专家分:52
注 册:2017-1-7
结帖率:91.67%
收藏
已结贴  问题点数:20 回复次数:7 
程序重复不了,scanf语句不执行,不知道怎么回事,大神给看看
int main(void)
{
    int a, b, i;
    char n;
    //定义变量a b及用于循环的临时变量i
    do        //do循环语句用于下一组的输入计算
    {
        for(i=1; i>0;)        //此循环为控制输入,若输入数据不合要求则重新输入
        {
            printf("请输入两个正整数:\n");        //要求输入的是两个正整数
            scanf("%d %d", &a, &b);                //输入a,b的值
            if(a<0 || b<0)                        //判断a,b是不是正数,如果是,执行else语句跳出循环
            {
                printf("输入的数据不符合格式,请重新输入!!!\n");
                //输入数据不合要求,提示后因为i的值未变返回循环语句重新输入
            }
            else
                --i;    //若a,b是正数,则执行--i,i=0;i>0不成立,跳出循环
        }

        printf("%d\n", fun(a, b));        //输出fun函数返回的值,即a b的最大公约数
        printf("y键继续\n");        //下一组提示
        scanf("%c", &n);            //输入命令是否继续
    }
    while(n=='y' || n=='Y');        //判断命令是否是Y

    printf("退出成功,谢谢使用!!!\n");        //若输入其他字符 while不成立 退出do while循环

return 0;
}
搜索更多相关主题的帖子: 正整数 
2017-02-16 22:20
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:10 
scanf(" %c", &n);   //加个空格吸收回车符

早知做人那么辛苦!  当初不应该下凡
2017-02-16 22:37
C初见
Rank: 2
来 自:四川
等 级:论坛游民
帖 子:61
专家分:52
注 册:2017-1-7
收藏
得分:0 
回复 2楼 炎天
这是为啥?
2017-02-17 13:07
绿意盎然
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:47
专家分:60
注 册:2017-1-5
收藏
得分:0 
N是特殊字符吧,不能作变量,不知道是不是这样
2017-02-17 14:24
C初见
Rank: 2
来 自:四川
等 级:论坛游民
帖 子:61
专家分:52
注 册:2017-1-7
收藏
得分:0 
回复 4楼 绿意盎然
不会\n才是转义字符,n是一个字符
2017-02-17 14:28
姚萌萌
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:40
专家分:55
注 册:2016-12-25
收藏
得分:0 
回复 楼主 C初见
scanf("%c", &n); 这里我一般都是用%s,不知道为什么%c的时候不执行。同样求大神
2017-02-17 16:35
yanzy
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:104
专家分:372
注 册:2017-2-7
收藏
得分:10 
scanf(" %c", &n);            //加空格
---------
前面 输入两个整数,其实是:xx yy回车
两个整数赋值给a,b,剩下回车符留待下次的scanf取用,这时 scanf("%c", &n)把回车符'\n'赋值给c,然后中断循环
2017-02-17 16:51
qdcs
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:171
专家分:458
注 册:2016-12-22
收藏
得分:0 
第12行加一行 getchar();


我是硬件工程师
2017-02-17 20:04
快速回复:程序重复不了,scanf语句不执行,不知道怎么回事,大神给看看
数据加载中...
 
   



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

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