我在其他地方找不到答案。
%[^\n]
- 运行这个程序时,scanf
正在获取输入并在我按下回车后终止。( 可能会在输入系统中留下\n
)
%[^\n]\n
- 这个程序能够获取输入,但是 scanf
不像上面的那一个立即在我按下回车后终止。我按下更多的回车键,它会产生更多的新行。 当我输入一个字符然后按回车键时,它最终终止。例如:
int main(void)
{
char s[100];
scanf("%[^\n]\n", s);
printf("%s", s);
return 0;
}
结果:
最后一个:
%[^\n]%*c
- 当我输入并按下回车时,scanf
立即终止。
这三个是如何工作的,它们之间的区别是什么?