好吧,我已经得到了一些调用函数的“简单”C 代码,并且需要构建将温度从 F 转换为 C,然后将 C 转换为 F 的函数。但是我不太确定如何处理传递给函数的所有不同变量。
这是现有的代码:
int main()
{
int degrees1 = 50, degrees2;
char scale1 = 'F', scale2;
convert_weight(degrees1, scale1, °rees2, &scale2);
printf("%d %c = %d %c\n");
degrees1 = 10;
scale1 = 'C';
convert_weight(degrees1, scale1, °rees2, &scale2);
printf("%d %c = %d %c\n");
return 0;
}
我不明白函数调用中所有变量的含义。
如果我不必将所有不同的东西传递给函数,我就会知道该怎么做,但可能不会弄乱 main。
如何编写接受该形式参数的函数?
最佳答案
我认为你必须用这个原型(prototype)编写一个函数:
void convert_weight(int degrees1, char scale1, int *degrees2, char *scale2);
然后,在函数体中,您可以使用 * Degrees2
作为输入/输出 int
值,使用 *scale2
作为输入/输出字符
。
在简单的代码中,您不需要进一步弄乱指针。
PS:当你说:
printf("%d %c = %d %c\n");
你可能想要:
printf("%d %c = %d %c\n", degrees1, scale1, degrees2, scale2);
否则它将呈现未定义的行为。
关于c - 当 &variableName 是函数的参数时,它会做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24248478/