因为c语言比较古老,不够智能,它到底按什么格式输出并不能自动检测变量类型,完全取决于你告诉它按照什么格式输出你写%d,那么就是把a地址里的4个字节拿出来按照int型的格式输出至于int型和double型在二进制上有什么区别回去复习课本即可
double型不能用%d输出啊,改为%lf
兄弟,你printf的格式错了,
应该会只识别整形的吧,小数部分会省略掉