3 回答
TA贡献1812条经验 获得超5个赞
"%f"
float
float
printf
double
printf
"%lf"
l
f
printf
scanf
fscanf
float
double
scanf
float
double
scanf
, %f
float
%lf
double
long double
%Lf
printf
scanf
).
TA贡献1869条经验 获得超4个赞
鉴于C99标准(即N 1256),规则取决于函数类型:fprintf(printf,sprintf,.)或者扫描。
以下是提取的相关部分:
前言
第二版取消并取代第一版ISO/IEC 9899:1990,经ISO/IEC 9899/COR1:1994、ISO/IEC 9899/AMD 1:1995和ISO/IEC 9899/COR2:1996修订和更正。与上一版相比的主要变化包括:
允许转换说明符
%lf
printf
7.19.6.1
fprintf
功能7长度修饰语及其含义如下:
l(Ell)指定(.)对下列a,A,e,E,f,F,g或G转换说明符没有影响。
L指定以下a、A、e、E、f、F、g或G转换说明符适用于长双参数。
指定的相同规则fprintf
申请printf
, sprintf
以及类似的功能。
7.19.6.2
fscanf
功能11长度修饰语及其含义如下:
l(Ell)指定(.)以下a,A,e,E,f,F,g或G转换说明符适用于类型指针为Double的参数;
L指定以下a、A、e、E、f、F、g或G转换说明符应用于类型指针为Long Double的参数。
12转换说明符及其含义是:a,e,f,g匹配可选符号浮点数,(.)
14转换说明符A、E、F、G和X也是有效的,其行为分别与a、e、f、g和x相同。
长话短说fprintf
指定了下列说明符和相应类型:
->双倍%f
->长双人间%Lf
而为了fscanf
它是:
->浮动%f
->双倍%lf
->长双人间%Lf
- 3 回答
- 0 关注
- 367 浏览
添加回答
举报