C 编程,操作函数的参数和 return

C programming, manipulating functions' arguments and return

全部

输出不应该是 -24 吗? 结果我得到 -4 并且无法得到原因。

   #include <stdio.h>
   int g (int x, int y) {
   x = x + y;
   int z = 2 * x - y;
   return z;
   }


int main()
{
    printf("Hello World%d\n", g(3, -10));

return 0;
 }

您将函数调用为

g(3, -10)

这意味着在函数内部,变量 x 以值 3 开始,而 y 以值 -10.

开始

现在如果我们对 "paper" 进行算术运算,我们首先有

x = x + y;

相同
x = 3 + -10;

相同
x = -7;

那么你有

int z = 2 * x - y;

相同
int z = 2 * -7 - -10;

相同
int z = -14 + 10;

相同
int z = -4;

然后你 return z 的值 -4.

都是大多数小学教的小学基础数学。