liyuanjun 发表于 2016-7-30 22:35:58

请教关于C语言的问题

本帖最后由 liyuanjun 于 2016-7-30 22:38 编辑

#include<stdio.h>

int main()
{
        char b;
        int i;
        for(i=0;i<5;i++)
        {
                printf("请输入字符:\n");
                scanf("%c",&b);
        }
               
        for(j=0;j<5;j++)
                printf("%c ",b);
}
程序运行后,为什么我输入的时候会是这样子???能不能帮忙解释一下,谢谢了!!!
请输入字符:
A
请输入字符:
请输入字符:
B
请输入字符:
请输入字符:
C
A
B
C

大奔G 发表于 2016-7-31 12:06:31

在sacnf后边加 fflush(stdin) 功能就是清空输入缓存区,保证后面字符输入

文献:http://baike.sogou.com/v7539862.htm?fromTitle=fflush%09stdin

liyuanjun 发表于 2016-7-31 15:45:17

大奔G 发表于 2016-7-31 12:06
在sacnf后边加 fflush(stdin) 功能就是清空输入缓存区,保证后面字符输入

文献:http://baike.sogou.c ...

谢谢

qq1242009750 发表于 2016-7-31 16:54:39

return0; 去哪里了

廿文廿武 发表于 2016-7-31 18:35:17

学习了,一直在输入后面会追加\n,原来还有fflush(stdin)这招
#include <stdio.h>

int main()
{
        char c;
        int i,j;
        for(i = 0; i < 5;i++)
        {
                scanf("%c",&c);
                fflush(stdin);
        }
        for(j = 0;j < 5;j++)
        {
                printf("%c\n",c);
        }

        getchar();
        return 0;
}

sunshineLove 发表于 2016-7-31 21:55:40

廿文廿武 发表于 2016-7-31 18:35
学习了,一直在输入后面会追加\n,原来还有fflush(stdin)这招

为什么结尾加个getchar()

李星 发表于 2016-8-1 21:40:59

sunshineLove 发表于 2016-7-31 21:55
为什么结尾加个getchar()

getchar()是让程序不会马上退出。在VC中运行时你还可以看见结果,如果不加getchar()单独运行会一闪而过
页: [1]
查看完整版本: 请教关于C语言的问题