关于C语言scanf中尀n 的问题

2024-11-20 21:30:35
推荐回答(1个)
回答(1):

刚才查了一下,lz和我的结果一样,应该是书上错了
在scanf里 \n 很特别的,不是要求输入一个回车换行

引用一下别人的说法:
过滤空格、制表符、回车等输入,也就是说
scanf("%d\n", &i);
printf("%d\n", i);
你输入一个数后,它是不会立即显示的,要等再接收到一个非(空格、制表符、回车)的输入scanf语句才结束。

但请注意的是,最后输入的那个非(空格、制表符、回车)的东西是不会被这个scanf读进来的,而是留在输入流里。

所以3会被x读入,也就是说最后的6没有被读入