scanf("%d%d");
是否和scanf("%d %d");
一样?
或
scanf("%d %d");
是否和scanf("%d%d);
一样?
或
它们不一样吗?
我知道空白会占用缓冲区中的所有输入空白。
当我输入[32 44]
时,它们如何区分32是第一个%d
, 44是第二个%d
,如果这是真的?
是的,"%d%d"
和"%d %d"
将与scanf
执行相同的操作。
在scanf
格式说明符中,%d
表示"跳过任何空格,然后读取整数"。
在scanf
格式说明符中,空格字符表示"跳过任何空白"。
所以"%d%d"
的意思是"跳过任何空格,然后读取一个整数",然后跳过任何空格,然后读取一个整数。
而"%d %d"
的意思是"跳过所有空格,然后读取整数","跳过所有空格,然后读取整数"。