有关C语言的基础的题目。

1.这样为什么错了?2.如何将int定义的变量a 最后输出时用printf(“%f”,a);这样?
图片上传错了 是这个代码的。

分析:

首先a=a+2.1;这句执行后a=3;因为2.1会自动转换为整型
a=(float)a;//a是整型,这句没有意义,赋值时a又会变成整型,结果仍为3
printf("%f",a);//a是整型,传入printf,以浮点型打印,由于a是整型,是32位的,而浮点型是64位,那么这会导致读入会是一个非常小的值,小到可以忽略,所以结果会显示0.0000000,如果这句这么写:printf("%f\n",(float)a);//那么结果应该会是3.00000000
综上:int类型%f格式输出,%f寻的是64位内存,结果极小,结果会是0;望采纳!
温馨提示:答案为网友推荐,仅供参考
相似回答