我的代码在下面 我希望在下面的代码中将Fahrenheit转换为摄氏度,但是我得到错误有人知道如何处理这个错误吗?
#include <stdio.h>
int main()
{
int frnhet[]={0,20,40,60,80,100,120,140,160,180,200,220,240,260,280,300};
double celcius;
int i;
for(i=0;i<16;i++)
{
celcius = ((float)(5/9) + (float)(frnhet-32));
printf("celcius = %f",celcius);
}
return 0;
}
答案 0 :(得分:1)
请更改行
celcius = ((float)(5/9) + (float)(frnhet-32));
到
celcius = ((float)(5/9) + (float)(frnhet[i]-32));
您错过了访问frnht
数组
答案 1 :(得分:1)
#include <stdio.h>
int main()
{
int frnhet[]={0,20,40,60,80,100,120,140,160,180,200,220,240,260,280,300};
double celcius;
int i;
for(i=0;i<16;i++)
{
celcius = ((float)(5/9) + (float)(frnhet[i]-32));
printf("celcius = %f",celcius);
}
return 0;
}
在celcius = ((float)(5/9) + (float)(frnhet-32));
中,您将指针传递到除浮点值之外的位置。传递价值使用celcius = ((float)(5/9) + (float)(frnhet[i]-32));
答案 2 :(得分:0)
您的错误在这里:
celcius = ((float)(5/9) + (float)(frnhet-32));
必须为frnhet[i]
,因为 frnhet 是一个数组
celcius = ((float)(5 / 9) + (float)(frnhet[i] - 32));
答案 3 :(得分:0)
你在代码中错过了frnhet的索引。请参考以下代码 -
#include <stdio.h>
int main()
{
int frnhet[]={0,20,40,60,80,100,120,140,160,180,200,220,240,260,280,300};
double celcius;
int i;
for(i=0;i<16;i++)
{
celcius = ((float)(5/9) + (float)(frnhet[i]-32));
printf("celcius = %f",celcius);
}
return 0;
}
答案 4 :(得分:0)
frnhet
是一个数组,在表达式frnhet-32
中,它将转换为指向其第一个元素的指针。将frnhet-32
更改为frnhet[i]-32
。
celcius = (5.0/9 + frnhet[i]-32);