我正在读书" C编程现代方法"我看到一个问题:
在功能"%f"
中显示如何区分:"%f "
与scanf()
(在%f有空格之后)。
你能帮我理解"%f "
的工作原理吗?
答案 0 :(得分:3)
"%f"
指示scanf()
stdin
扫描并丢弃空白区域,直到不再有输入或遇到非空白区域为止。将char
放回stdin
。char
的{{1}}。继续,直到不再输入或遇到非float
float
。将char
放回char
。 stdin
指示"%f "
执行上述步骤1和2,然后
scanf()
扫描并丢弃空白区域,直到不再有输入或遇到非空白区域为止。将stdin
放回char
。 (就像第1步一样)注意:除了stdin
,scanf()
,"%c"
之外的所有"%n"
格式说明符都会在进一步扫描之前执行第1步。
答案 1 :(得分:0)
第二个需要一个空格,然后是您输入的浮动。如果你有多个浮点数来自用户,你可以写一些像 -
scanf("%f %f", &f1, &f2);
答案 2 :(得分:0)
如果您在%f
之后使用空格,那就是
scanf("%f ");
scanf()
会跳过换行符。