猿问

双精度浮点型 急急急

分别用float与double定义了变量a = 1, printf("%f",a);与printf("%lf",a); 结果都是1.000000,为什么

qq_Sec_2
浏览 1496回答 2
2回答

Will_木

两个都默认保留小数点后6位

kofzxaaa

printf 的 %f 标识符的确既可以输出浮点数又可以输出双精度数。根据  ``缺省参数扩展" 规则, 不论范围内有没有原形都会在在类似 printf 的可变长度参数列表中采用, 浮点型的变量或扩展为双精度型, 因此 printf()  只会看到双精度数。
随时随地看视频慕课网APP
我要回答