黑马程序员技术交流社区

标题: 求前辈指点 [打印本页]

作者: dio925_heima    时间: 2015-2-25 16:20
标题: 求前辈指点
为什么执行下面代码以后,结果是这样:每次都输出两次“请输入一个小写字母”,输入效果见附件截图

#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, 下载次数: 66)

捕获.PNG

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

多谢了。你也是冲第七期的?还是已经进第六期了。
作者: wawajiayou85    时间: 2015-2-26 09:26
dio925_heima 发表于 2015-2-26 09:25
多谢了。你也是冲第七期的?还是已经进第六期了。

也是准备第七期,但是还有点小纠结中。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2