下面的代码工作正常。它允许用户输入名为float
的error
值,并通过function error_user();
]保存它
#include <stdio.h> #include <stdlib.h> float error_user (); int main(void) { float error; printf("What error do you want?\n"); error=error_user (); printf("%f\n", error); return 0; } float error_user () { float error; scanf("%f", &error); return error; }
但是,以下功能不起作用。我正在尝试实现相同的结果,唯一的区别是我想通过指针传递值。在第二种情况下如何实现呢?谢谢!
#include <stdio.h>
#include <stdlib.h>
void error_user (float *error);
int main(void)
{
float error;
printf("What error do you want?\n");
error_user (&error);
printf("%f\n", error);
return 0;
}
void error_user (float *error)
{
scanf("%f", &error);
}
下面的代码工作正常。它允许用户输入一个称为error的浮点值,并通过函数error_user()保存它。 #include
基于下面的@John Bode,是正确的代码。解释一下:“在第二个版本中,错误已经具有float *类型,因此您无需在scanf调用中使用&运算符。”
#include <stdio.h>
#include <stdlib.h>
void error_user (float *error);
int main(void)
{
float error;
printf("What error do you want?\n");
error_user (&error);
printf("%f\n", error);
return 0;
}
void error_user (float *error)
{
scanf("%f", error);
}