我应该输入实数,直到遇到输入 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;
}
有人会费心解释为什么会这样吗?我想不出任何理由。先感谢您。