C语⾔中scanf与回车的问题
本⽂原作于2019年8⽉
假如输⼊abc[回车],使⽤scanf("%s")读取。将读取到abc并将其返回,但[回车]仍留在输⼊流中。
如果接着输⼊efg[回车]并使⽤scanf("%s")读取,这时候会将abc后⾯的[回车]⾃动抛弃,但是仍留下efg后⾯的[回车]。数字也同理。结论1:除了scanf("%c")之外,其他的读取都是在字符前碰到回车或空⽩字符⾃动抛弃,在字符后碰到回车或空⽩字符⾃动停⽌。但如果使⽤了scanf("%c")来读取,这时候回车或空⽩字符也就算是字符了。不会被⾃动清除。
例⼦:
若代码为
scanf("%c",&i);
c语言scanf能输入中文吗scanf("%c",&j);
输⼊a[回车]b的话
结果为: i=a,j=[回车]
但如果中间加上getchar();
则最终结果为:i=a,j=b

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。