在 getchar() 时输入回车键;被执行
Putting an enter key when getchar(); is executed
int main()
{
int a;
a = getchar();
printf("%d", a);
}
output
10
这是当我编写这样的代码并仅在控制台上敲击 'enter' 键时。击键 'enter' 效果 1. 在缓冲区 2 中放置一个 '\n'。return 该值随后被获取(这是我对这种情况的理解)。怎么可能?这个结果就像按了两次回车键。我找到了一个相关的问题getchar,但是找不到可以帮助我理解的东西。
This result is like pressing enter key twice.
是getchar()
的行为,当它遇到换行符\n
时只有在stdin
中,有什么区别。
int main()
{
int a;
a = getchar();
printf("%d", a);
}
显示以下的适当输出:
10
当你输入一个"Enter"击键时。
getchar()
等待输入,直到它在 stdin
中遇到换行符 \n
然后 returns 字符值直到那一刻;如果 \n
是遇到的唯一字符,getchar()
停止扫描并 returns 这个换行符,实际上这就是发生的情况。
在这种特殊情况下,您不需要再次按下 "Enter" 来影响 getchar()
停止扫描。
int main()
{
int a;
a = getchar();
printf("%d", a);
}
output
10
这是当我编写这样的代码并仅在控制台上敲击 'enter' 键时。击键 'enter' 效果 1. 在缓冲区 2 中放置一个 '\n'。return 该值随后被获取(这是我对这种情况的理解)。怎么可能?这个结果就像按了两次回车键。我找到了一个相关的问题getchar,但是找不到可以帮助我理解的东西。
This result is like pressing enter key twice.
是getchar()
的行为,当它遇到换行符\n
时只有在stdin
中,有什么区别。
int main()
{
int a;
a = getchar();
printf("%d", a);
}
显示以下的适当输出:
10
当你输入一个"Enter"击键时。
getchar()
等待输入,直到它在 stdin
中遇到换行符 \n
然后 returns 字符值直到那一刻;如果 \n
是遇到的唯一字符,getchar()
停止扫描并 returns 这个换行符,实际上这就是发生的情况。
在这种特殊情况下,您不需要再次按下 "Enter" 来影响 getchar()
停止扫描。