1

所以我正在编写一个函数来增加数组中元素的值并返回 void。但是,我无法将新值带回 main。代码如下:

void incrementInt(int myInt, int increment_val)
{ 
    myInt += increment_val
}

对函数的调用是 incrementInt(myInt[i], value)。当我在函数中运行 printf 时,它正在修改值,但 main 中的 printf 具有原始值。

4

1 回答 1

5

在 C 中,您通过值将所有内容传递给函数,这意味着原始值不会改变。
您可以传递变量的地址,取消引用它,原始值将被更改。

例子:

void incrementInt(int * myInt, int increment_val)
{ 
    *myInt += increment_val
}
于 2013-09-20T23:39:15.247 回答