C语言 用float 定义数组的问题

如题所述

这个不是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;

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-31
1、C语言中float是可以用来定义数组的。
定义方式如下:
float 数组名[元素个数];

2、实质上,C语言中的基本数据类型和用户自定义类型都可以定义数组。
第2个回答  2014-03-10
%d是指将浮点数a[1]按照整型变量打印出来,所以这个值没有意义,要使用%f打印,精确度控制可使用%nf,比如:%2f表示保留2位小数。
第3个回答  2014-03-10
printf("%f\n",a[1]);本回答被提问者采纳
第4个回答  2014-03-10
printf("%f", a[1]);
相似回答