【发布时间】:2015-12-27 19:32:02
【问题描述】:
我正在制作一个小程序,将摄氏温度转换为华氏度和开尔文度 它使用一个函数,该函数将指向 int 的指针作为参数并返回 Fahrenait。当程序结束时,我必须更改 akc 整数的值,这是我将摄氏温度保存为开尔文度的地方 这是我所做的。
float thermo(int *);
int main(){
int akc;
akc=100;
printf("%dce = %f = %dK\n",akc,thermo(&akc),akc);
system("pause");
return 0;
}
float thermo(int *akc){
float a=*akc;
*akc+=273;
return 9*a/5+32;
}
我的问题是,当我打印所有值时,我得到以下输出:
373 摄氏度 = 212.000000 华氏度 = 100 开尔文
但结果应该是
100 摄氏度 = 212.000000 华氏度 = 373 开尔文
有什么想法吗?
【问题讨论】:
标签: c pointers function-pointers