关于程序中跳过scanf()或者gets()的问题。
今天遇到了这个情况, 因为多出要进行交互。 所以 多出需要用到scanf()函数。 但在有一处scanf()直接就跳过了。
没有让输入。 让我很奇怪。
后来想了一下,应该是在输入缓冲区有一个“\n‘符。所以, 跳过去了。 然后刷了一下缓冲区。再进行输入。
fflush(stdin);
scanf("%[^\n]", ch);
顺带讲一下scanf(), 接收含空格字符串的输入。
%[^\n]
^相当于停止的意思。就是说遇到 '\n' ,则停止输入。