这个不是float类型定义的问题,而是类型转换问题,你定义a数组为float类型,而输出格式%d是整形,只要你把输出格式改为 %f 就可以了,或者直接将a[1]强制转换为整形,只取整数部分进行输出:
即,你的代码应该改为如下:
#include <stdio.h>
int main()
{
float a[10] = {1.1, 2.2, 3.3};
printf("%f %d\n", a[1], (int)(a[1]));/**按照浮点型输出,或者强制转换为整形取整数部分输出**/
return 0;
}
温馨提示:答案为网友推荐,仅供参考