C语言中scanf函数以%s和%d格式进行输入时,输入的空格和Enter残留在缓冲区中吗?

有的说是残留在缓冲区中,有的说没有。我想知道到底有没有? 还请各位高手解答,并解释一下调用scanf函数的具体过程。 高分求解答,看清要求再作答。

%s格式读入字符串时,只有接收到\n时(假设字符数组空间不收限制的话),才停止如入,因此以%s,%d读入一个字符串和一个整数时,一般不会得到预期的结果,这是因为逗号“,”被当作字符串的一部分,所以整数必被接受为字符串。解决的办法是,用两个scanf()函数分别读入字符串和整数。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-05
%s格式读入字符串时,只有接收到\n时(假设字符数组空间不收限制的话),才停止如入,因此以%s,%d读入一个字符串和一个整数时,一般不会得到预期的结果,这是因为逗号“,”被当作字符串的一部分,所以整数必被接受为字符串。解决的办法是,用两个scanf()函数分别读入字符串和整数。
相似回答