在 for 循环中获取多个字符输入

use*_*472 2 c

char c;
int i;
for(i=0;i<5;i++)
{
 printf("Enter a character : ");`
 scanf("%c",&c);
}
getch();
Run Code Online (Sandbox Code Playgroud)

上面的代码不能正常工作。它只获取了3次输入。我无法找到解决方案。请帮忙解决。提前致谢!

hac*_*cks 5

\n这是因为前一个留下的换行符在下一次迭代中scanf被读取。scanf在说明符前放置一个空格%c以消耗\n

scanf(" %c",&c);  
       ^Notice the space
Run Code Online (Sandbox Code Playgroud)