使用scanf("%[^\n]%*c", str);
[^\n]的意思是读取到\n停止,当然也可以\n换成其他符号,
%*c的意思是读入一个回车,这样就不用清空输入缓冲区了,
否则如果不加%*c继续使用scanf的话就会直接读取缓冲区里的东西,需要使用fflush(stdin)清空缓冲区。
使用scanf("%[^\n]%*c", str);
[^\n]的意思是读取到\n停止,当然也可以\n换成其他符号,
%*c的意思是读入一个回车,这样就不用清空输入缓冲区了,
否则如果不加%*c继续使用scanf的话就会直接读取缓冲区里的东西,需要使用fflush(stdin)清空缓冲区。