#include<stdio.h>main(){ float a[3]={3*0}; int i; for(i=0;i<3;i++) scanf("%f",a); for(i=0;i<3;i++) printf("%d\n",a[i]);
}
为什么输出是0?
C语言里面float数据用printf(“%d”)输出是0,是float数据使用错误造成的,解决方法如下:
1、首先在电脑中打开C-Free 5编译器(界面) -> 文件 -> 新建(Ctrl+N)。
2、然后输入下图所示代码。
3、编译成功后的截图。如果编译失败,请检查语法或者编译器是否有问题。
4、程序运行截图(开始和结束)。使用了<\b>之后没有system("cls");那么闪烁。system("cls");会清空屏幕上所有的信息。
5、最后输出结束,如下图所示就完成了。
我知道啊。。。但是为什么有的时候用%d输出会出现错误。但是这个出现的是0?
追答你接收数据有误,
for(i=0;i<3;i++) scanf("%f",a);//你这里用的是a,它表示首地址,所以你每次都是用第一个元素去接收数据,第二个和第三个元素根本就没有接收到数据,所以是初始值0。
我也知道啊。。为什么第一个也是0呢。。
本回答被网友采纳为什么用%d输出是零?