需要关于C中的函数scanf的帮助

时间:2015-05-22 02:35:12

标签: c scanf

我正在读书" C编程现代方法"我看到一个问题: 在功能"%f"中显示如何区分:"%f "scanf()(在%f有空格之后)。

你能帮我理解"%f "的工作原理吗?

3 个答案:

答案 0 :(得分:3)

"%f"指示scanf()

  1. stdin扫描并丢弃空白区域,直到不再有输入或遇到非空白区域为止。将char放回stdin
  2. 扫描代表char的{​​{1}}。继续,直到不再输入或遇到非float float。将char放回char
  3. stdin指示"%f "执行上述步骤1和2,然后

    1. scanf()扫描并丢弃空白区域,直到不再有输入或遇到非空白区域为止。将stdin放回char。 (就像第1步一样)
    2. 注意:除了stdinscanf()"%c"之外的所有"%n"格式说明符都会在进一步扫描之前执行第1步。

答案 1 :(得分:0)

第二个需要一个空格,然后是您输入的浮动。如果你有多个浮点数来自用户,你可以写一些像 -

scanf("%f %f", &f1, &f2);

答案 2 :(得分:0)

如果您在%f之后使用空格,那就是

scanf("%f ");

scanf()会跳过换行符。