小编Hon*_*onk的帖子

奇怪的scanf问题在C中

比方说我用来scanf从键盘上读取一个字符.之后,我printf用来打印我刚读过的角色.

scanf("%c",&ch);
printf("%c",ch);
Run Code Online (Sandbox Code Playgroud)

scanf阅读角色的时候,我必须按回车继续并运行printf,对吧?

让我们说我ABCD用键盘进入.之后printf将打印A.

但是当我这样做时:

do {
   scanf("%c",&ch);
   printf("%c",ch);
} while (ch!='\n');
Run Code Online (Sandbox Code Playgroud)

并输入ABCD键盘,我认为printf必须打印A.因为A不是\n它会继续循环,对吗?

但不会这样,它会打印出来ABCD.为什么会这样?

c

0
推荐指数
1
解决办法
519
查看次数

标签 统计

c ×1