c语言为啥scanf()后要加个getchar()?(也可以在前面加个fflush(stdin)函数清除缓冲区)(getchar代替scanf用法【可捕获空格】)

您所在的位置:网站首页 用scanf输入字符数组怎么写 c语言为啥scanf()后要加个getchar()?(也可以在前面加个fflush(stdin)函数清除缓冲区)(getchar代替scanf用法【可捕获空格】)

c语言为啥scanf()后要加个getchar()?(也可以在前面加个fflush(stdin)函数清除缓冲区)(getchar代替scanf用法【可捕获空格】)

2023-09-21 03:32| 来源: 网络整理| 查看: 265

问:

C语言 这个程序为什么要加getchar() 前面有scanf了啊 #include main() { char a; int i,b; scanf("%c",&a); getchar(); for (i=0;i char a ,b ; printf("请输入a和b的值:"); scanf("%c%c",&a,&b); fflush(stdin); //清楚输入缓冲区; printf("a=%c,b=%c\n",a,b); printf("请输入a和b的值:"); scanf("%c%c",&a,&b); printf("a=%c,b=%c\n",a,b); }

参考文章:C语言scanf函数以及缓存详解

20210714 当然,getchar也能替代scanf获取用户键入的字符数组 #include int main() { char text[50]; printf("请输入算式:\n"); //scanf_s("%s", text, sizeof(text));//sanf没法输入空格? int i = 0; while ((text[i] = getchar()) != '\n') { //putchar(text[i]); i++; } text[i] = '\0'; printf("text:%s\n", text); return 0; }

运行结果:

请输入算式: sdf3 dsfd fdsf44 gg text:sdf3 dsfd fdsf44 gg


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3