为什么一按回车键就开始无限循环呢

char str[200];
int main()
{
while(scanf("%[^\n]",str) != EOF)
{
printf("%s",str);
// fflush(stdin);
}

return EXIT_SUCCESS;

}

有这种输入方式么?? 都开始正则表达式了。。 我没有见过。

你如果想要输入一行,以换行符结束: gets

因为没有终止,这个循环并不会自动终止,需要手动按ctrl+z结束循环。EOF不是特殊字符,一般是-1。