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