【发布时间】:2014-10-26 14:42:32
【问题描述】:
所以我刚刚了解了指针以及如何在 C 中使用单独的函数制作程序。我将这个华氏度设置为 celcius 程序,但我的编译器给了我一个错误:在我的 printf 中“无效使用 void 表达式”。
我知道这与我的函数 fahrenheit_temperature 有关。但我不明白如何解决它?我试图将功能更改为加倍,但它不起作用。有任何想法吗?谢谢。
我的代码:
#include <stdio.h>
void fahrenheit_temperature(double celcius_temp, double *fahrenheit_temp){
*fahrenheit_temp = (9.0 / 5.0) * celcius_temp + 32.0;
}
int main(void){
double fahrenheit_temp;
printf("Freezing point: %6.2f F.\n",
fahrenheit_temperature(0.0, &fahrenheit_temp));
printf("Boiling point: %6.2f F.\n",
fahrenheit_temperature(100.0, &fahrenheit_temp));
return 0;
}
新代码:
#include <stdio.h>
void fahrenheit_temperature(double celcius_temp, double *fahrenheit_temp){
*fahrenheit_temp = (9.0 / 5.0) * celcius_temp + 32.0;
}
int main(void){
double fahrenheit_temp, celcius_temp;
printf("Enter degrees celcius: ");
scanf("%lf", &celcius_temp);
fahrenheit_temperature(celcius_temp, &fahrenheit_temp);
printf("The converted temperature is: %f\n", fahrenheit_temp);
return 0;
}
【问题讨论】:
-
看起来好多了,实际上您在函数中正确使用了指针
标签: c pointers function-pointers