C语言中float f=1.23,为什么用printf(“%d”,f)输出是乱码?

C语言不是能自动将输出数据转化为格式控制类型吗?

“C语言不是能自动将输出数据转化为格式控制类型” 指的是在赋值运算的时候,在printf函数里头是需要形参与实参一一对应。而且必须是一一对应!

C语言输出时调用printf函数实现的,这里的要求就与我们的函数里头讲的要求是一样的。
printf只不过是一类标准的库函数,它本质上还是函数。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-22
不会是乱码。不管是整形,还是浮点型,在计算机中都是用二进制表示,这些二进制表示的是整形还是浮点型,由程序设计者确定。
第2个回答  2012-09-26
这是出错了,f是浮点型,%d只能输出整型,浮点型不能直接转换整型,反过来可以
第3个回答  2011-05-22
%d是整数,用%f。

printf函数不会进行任何类型转换!追问

你说的这个我都知道,但是在C语言中数据类型转换中有一点就是数据会自动转化为格式控制类型。这个不是让printf函数来进行转换的,就像是将float型的数据赋值给int型的一样。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网