level 3
float类型参数进堆栈后变为double,要是按float类型取出不就错了吗 求大佬 我不是科班的 没学过编译 谢谢了
2018年03月22日 11点03分
1
level 15
只有在参数没写明,编译器无从得知参数信息时,才会做出这种事情,如果声明写完整的话此情况不会发生(可变参数除外)
2018年03月22日 13点03分
7
我还真的没写 为什么会这样呢
2018年03月22日 14点03分
难道因为表达式中自动转换的问题
2018年03月22日 14点03分
level 15
专门翻了cpp。。
lz
断章取义了,请注意「函数原型会覆盖自动升级」
2018年03月22日 13点03分
8
那正确的理解是什么呢 搞得我有点糊涂
2018年03月22日 14点03分
@啊啊啊😂😳 假定lz学习了函数知识,是指编译器在调用以C89前的函数原型声明的函数时,这些类型会进行自动转换(因为编译器不知道参数类型)
2018年03月22日 14点03分
回复 三枝💕葉留佳 :而且不错,正如你想象的那样,按float取出会出问题
2018年03月22日 14点03分
原来是这样啊 那书中的参数传递float升级怎么理解呢
2018年03月22日 14点03分