#include <stdio.h>
int main()
{
int ch;
char name[32] = {0};
while(1)
{
scanf("%[^\n]", name); // 读取除 '\n' 外的所有字符
scanf("%*c"); // 清空 '\n'
if(strcmp(name, "bye") == 0)
{
break;
}
printf("\t\t\t%s\n", name);
}
return 0;
}
回车符是特殊字符,在scanf("%[^\n]", str)之后需要增加scanf("%c", newline),消除回车符。否则,只要接收到一个回车符scanf会不停止运行。