C 中的函数组成,我不确定如何传入仍然需要计算的参数



输入的格式是x和复合函数序列。例如42hfgf=,并且该hfgf的输出将是2829124。

这就是我目前所掌握的,我不知道如何让它理解它应该计算的顺序。

请帮忙。

#include <stdio.h>

int functionF(int x) {
x = x * x;
return x;
}
int functionG(int x) {
x = x + 1;
return x;
}
int functionH(int x) {
x = x - 1;
return x;
}
int main(int argc, char *argv[]) {
int n;
char function;
int result;
scanf("%d", &n);
scanf(" %c", &function);
while (function != '=') {
if (function == 'f')
functionF(n);
if (function == 'g')
functionG(n);
if (function == 'h')
functionH(n);
scanf("%c", &function);
}
printf("%dn", result);
return 0;
}

传递函数f()g()h()的参数"按值;而不是";通过引用"这意味着改变函数中x的值不会改变main()n的值。

相反,函数应该返回一个值。例如:

int functionF(int x) {
return x * x;
}

然后调用者应该将结果分配给main()中的n,如下所示:

if (function == 'f')
n = functionF(n);

并且CCD_ 9得到3115226。如果序列是42 hfgf,即((42-1(^2+1(^2 ,则得到2829124

最新更新