printf影响了哪里

img


在prinft那行中写成%lf 和%f都可以正常输出,表面看起来没差别,换成%d输出时就出错了,为什么呀?

因为c语言比较古老,不够智能,它到底按什么格式输出并不能自动检测变量类型,完全取决于你告诉它按照什么格式输出
你写%d,那么就是把a地址里的4个字节拿出来按照int型的格式输出
至于int型和double型在二进制上有什么区别回去复习课本即可

double型不能用%d输出啊,改为%lf

兄弟,你printf的格式错了,

img

应该会只识别整形的吧,小数部分会省略掉