C语言为什么我输入%d就对了,%f就算不对。

img


为啥输入%f算出来是0.000000?
那这个%f小数的意思吗?为啥不对啊

%d对应的是int
%ld对应long
%f对应的是float
%lf对应的是double
这些属于常识性的,你应该要了解的
如果输入输出格式与类型不匹配,比如你数据是int而输出用%f,那么就会把存放int的4个字节直接当float类型的格式输出,那肯定全乱码了呀
(注意这里不是强制转换,去复习各种格式的二进制存储方式你就知道有多不同了)

整型不能用%f输出的
%f输出浮点数
%d输出整数