C语言 用float 定义数组的问题
5个回答
展开全部
这个不是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;
}
即,你的代码应该改为如下:
#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;
}
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
%d是指将浮点数a[1]按照整型变量打印出来,所以这个值没有意义,要使用%f打印,精确度控制可使用%nf,比如:%2f表示保留2位小数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
printf("%f\n",a[1]);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
printf("%f", a[1]);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询