有关 scanf()函数的问题
程序代码:
#include <stdio.h> int main(void) { int i = 0; int j = 0; int k = 0; scanf_s("%d\n%d\n%d", &i, &j, &k, 3); printf("%d, %d, %d\n", i, j, k); //scanf_s("%d\n", &i, 1); //printf("%d\n", i); return 0; }
我想请问一下,为什么第一个scanf_s()中输入3个数时,要敲入 空格 或 回车 才可以正确存储,如果在3个数字中插入两个‘\n’,那么仅能存储第一个数字,其他没有被存储,还是初始化时的值。
但是第二个scanf_s()中,输入一个数字后为什么必须要输入‘\n’再敲 回车 才能存储?
看《C语言入门经典》到第10章,发现细节太多,看的比前面任何一章都辛苦,进度很慢,想请问一下图片中划线部分到底什么意思?说好的可以忽略空白字符,那为什么第二个scanf_s()中的 \n 没有被忽略?