刚才查了一下,lz和我的结果一样,应该是书上错了
在scanf里 \n 很特别的,不是要求输入一个回车换行
引用一下别人的说法:
过滤空格、制表符、回车等输入,也就是说
scanf("%d\n", &i);
printf("%d\n", i);
你输入一个数后,它是不会立即显示的,要等再接收到一个非(空格、制表符、回车)的输入scanf语句才结束。
但请注意的是,最后输入的那个非(空格、制表符、回车)的东西是不会被这个scanf读进来的,而是留在输入流里。
所以3会被x读入,也就是说最后的6没有被读入