c语言输入函数gets()的问题

2024-12-17 23:04:17
推荐回答(1个)
回答1:

scanf("%d",&n);
之后在缓冲区中会遗留一个字符'\n'(回车的作用),如果不把这个字符取走,就会对后面的gets()函数读取字符串有影响,这里的scanf("%c",&c);就是取走这个字符。

还可以用fflush(stdin);来清空缓冲区,而不是像这里一样只读取一个字符。