| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1393 人关注过本帖
标题:程序没有问题啊,我是按着书做的,但是用DEV c+的结果与书本不一致,求解
只看楼主 加入收藏
BCCN_cuser
Rank: 1
等 级:新手上路
帖 子:31
专家分:1
注 册:2016-6-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
程序没有问题啊,我是按着书做的,但是用DEV c+的结果与书本不一致,求解
先放程序:
#include<stdio.h>
int main(void)
{
    char answer=0;
    for(;;)
    {
        printf("Do you want some more:(Y/N)):");
        scanf("%c",&answer);
        if(answer=='n')
        break;
    }   
    return 0;
 }
结果应该是
Do you want some more:(Y/N):
我输入Y的时候应该是Do you want some more:(Y/N):
但是运行后的结果为:
图片附件: 游客没有浏览图片的权限,请 登录注册

为什么是重复了一遍。



DEV c++5.11在win10中不能调试,调试会出错(是否有类似这样可用的小软件推荐)谢谢
搜索更多相关主题的帖子: return 软件 
2016-06-28 22:18
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:10 
scanf("%c",&answer);这句之前加一句getchar();
getchar()的作用是将缓冲流里的回车取走。
2016-06-28 22:26
BCCN_cuser
Rank: 1
等 级:新手上路
帖 子:31
专家分:1
注 册:2016-6-28
收藏
得分:0 
回复 2楼 linlulu001
试了,可以的,多谢了。
为什么书本上没有加getchar();(为什么需要加个缓冲,之前的一些加减运算没有加getchar()也没有问题)
2016-06-28 22:35
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:10 
scanf("%c" 中 "%c"前加个空格试试,即 " %c"
2016-06-28 23:17
BCCN_cuser
Rank: 1
等 级:新手上路
帖 子:31
专家分:1
注 册:2016-6-28
收藏
得分:0 
回复 4楼 rjsp
也是可行的,为什么啊?
2016-06-28 23:27
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
回复 5楼 BCCN_cuser
你输入 y然后回车,难道输入的不是两个字符 'y' 和 '\n' ?!
第一次读取了'y',第二次读取的不就是'\n'嘛
2016-06-29 08:17
快速回复:程序没有问题啊,我是按着书做的,但是用DEV c+的结果与书本不一致,求 ...
数据加载中...
 
   



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

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