1
我应该输入实数直到遇到输入0,然后程序应该终止。我得到这个代码整数数据类型的工作:程序正在处理整数,但不是双精度
#include<stdio.h>
int main()
{
int i;
int a[60];
for(i=0;i<60;i++)
a[i]=-1;
for(i=0;;i++)
{
scanf("%d",&a[i]);
if(a[i]==0)
break;
}
return 0;
}
但是当我尝试在双数据类型相同的代码,程序终止不会对0。这里输入发生的代码:
#include<stdio.h>
int main()
{
int i;
double a[60];
for(i=0;i<60;i++)
a[i]=-1.0;
for(i=0;;i++)
{
scanf("%f",&a[i]);
if(a[i]==0.0)
break;
}
return 0;
}
难道有人会解释这是为什么吗?我想不出任何理由。先谢谢你。
您是否在'scanf'之后尝试过'printf(“%f”,a [i])'来查看您的程序对您的输入做了什么? – 2012-12-28 15:03:17