首页 > 解决方案 > 从 C 中的文件读取,“%*lf”如何工作?

问题描述

在从 C 中读取文件时,有人告诉我可以在 % 之后添加 * 以忽略该输入。例如:

fscanf(inputfile, "%lf %lf %*lf", &num1, &num2);

在此示例中,指针读取三个双精度值,但只需要存储其中两个(% 符号后没有 * 符号的值)。

有人可以解释它是如何工作的,因为据我所知 * 符号用于初始化或进入指针?

标签: cfilepointersinput

解决方案


的使用*只是一个任意选择的字符串常量。它与指针取消引用无关。它的“工作原理”是 scanf 中的解析器像通常一样简单地解析类型,然后丢弃该值,而不是寻找将其放入的参数。


推荐阅读