A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dio925_heima 中级黑马   /  2015-2-25 16:20  /  1556 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么执行下面代码以后,结果是这样:每次都输出两次“请输入一个小写字母”,输入效果见附件截图

#include <stdio.h>

void big();

int main()
{
    big();

}
void big()
{
    while(1){
    char small;
    printf("请输入一个小写字母\n");
    scanf("%c", &small);
    printf("%c\n", small - 32);
    }
}

捕获.PNG (9.73 KB, 下载次数: 67)

捕获.PNG

4 个回复

倒序浏览
这个是scanf缓冲区的问题,你可以在scanf语句之后加入fpurge(stdin)语句。
如果你是用xcode写的话有问题你可以打个断点,看看大体什么原因,然后去百度谷歌搜搜
我就是这么干的;P详细你可以看看http://blog.csdn.net/caryaliu/article/details/8103159这个帖子
回复 使用道具 举报 1 0
不过技术分,有见过么。。我光水去了:lol
回复 使用道具 举报
wawajiayou85 发表于 2015-2-25 21:51
这个是scanf缓冲区的问题,你可以在scanf语句之后加入fpurge(stdin)语句。
如果你是用xcode写的话有问题你 ...

多谢了。你也是冲第七期的?还是已经进第六期了。
回复 使用道具 举报
dio925_heima 发表于 2015-2-26 09:25
多谢了。你也是冲第七期的?还是已经进第六期了。

也是准备第七期,但是还有点小纠结中。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马