我想知道在使用scanf(“%s”)时,编译器如何处理空格,换行符。我知道scanf(“%s”)无法读取空格和换行符。
例如,如果我输入
hi question
或
hi
question
scanf(“%s”)毫无问题地读取它。
下面是我指的代码
#include <stdio.h>
int main () {
char str [2][50];
scanf("%s", str[0]);
scanf("%s", str[1]);
printf("%s\n", str[0]);
printf("%s\n", str[1]);
return 0;
}
scanf在线文档:
空格字符:该函数将读取并忽略在下一个非空格字符之前遇到的所有空格字符(空格字符包括空格,换行符和制表符-请参见isspace)。格式字符串中的单个空格可验证从流中提取的任意数量的空格字符(包括无空格)。