自学C语言 !书上说float和double输出都用%f,%e或%a !这是由于它们向那些未在原型

自学C语言!书上说float和double输出都用%f,%e或%a!这是由于它们向那些未在原型中显示说明参数类型的函数传递函数时!C自动将float类型转换为double... 自学C语言 !书上说float和double输出都用%f,%e或%a !这是由于它们向那些未在原型中显示说明参数类型的函数传递函数时 !C自动将float类型转换为double类型 !

请问各位前辈 !该如何理解 ?

把float自动转换为double输出只能是double类型 ?
展开
 我来答
zjfaok
2015-08-14 · TA获得超过6805个赞
知道大有可为答主
回答量:4146
采纳率:62%
帮助的人:1555万
展开全部
就是向 printf 传递参数的时候,类型为 float 的参数会自动转换为 double 类型啊
追问
这么做,有什么意义 ?
追答
没意义。

default argument promotion 是几十年前 C 语言还未成熟时就出现的规则。现在看完全可以不这么规定。不过因为会造成一些现在还在使用的程序运行错误,所以现在要想改变这个规则已经不可能了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式