C编程,操作函数的参数和返回值

问题描述 投票:0回答:1

全部

输出应该不是-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;
 }
c function return arguments pass-by-value
1个回答
0
投票

您将函数称为

g(3, -10)

这意味着在函数内部,变量x的起始值为3y的起始值为-10

现在,如果我们在“纸”上进行算术运算,首先要有

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;

然后返回具有值z-4的值。

© www.soinside.com 2019 - 2024. All rights reserved.