【发布时间】:2018-05-14 17:55:05
【问题描述】:
我已为以下程序插入以下输入:
a b c d e
在 e 字母之后我按下了 Enter,但程序在 scanf 上阻塞,因为 i 等于 3。 似乎 scanf 无法从标准输入中获取其他字符。 提前感谢您的帮助。
#include <stdio.h>
#include <stdlib.h>
int main()
{
char a[5];
for (int i = 0; i < 5; i++)
{
scanf("%c ", a + i);
printf("i = %d a[%d] = %c \n", i, i, a[i]);
}
int i = 0;
while( i < 5 )
{
printf("%c ", a[i]);
i++;
}
return 0;
}
【问题讨论】:
标签: c input buffer scanf stdin