【发布时间】:2023-03-28 16:17:01
【问题描述】:
#include <stdio.h>
int main() {
int n = 6;
while (n--){
int c = getchar();
printf("%c",c);
}
return 0;
}
谁能解释一下上面的代码?就像我输入这样的内容
99999
我得到这样的输出
99999
但是我在给出了五个 9 后按了“Enter”,但是如何读取所有的 9?我的意思是如果我使用 scanf 我必须在每次输入后按 enter,但我没有在那里这样做,我将 getchar 的返回值分配给一个 int 变量,它不能将五个 int 一起存储,那么 getchar 函数如何一次阅读所有五个九?
【问题讨论】:
-
因为 5 个 9 都存在于输入缓冲区中,并且在您按下
后可供程序读取。 scanf也是如此 - 每个项目后不一定需要换行,只是为了终止序列。 -
使用 putchar 也更简单。
-
这能回答你的问题吗? How %c and %s works in C language?
标签: c char scanf newline getchar