所以我正在编写一个函数来增加数组中元素的值并返回void。但是我无法将新值带回主要值。代码如下:
void incrementInt(int myInt, int increment_val)
{
myInt += increment_val
}
对函数的调用是incrementInt(myInt [i],value)。当我在函数中运行printf时,它正在修改值,但是main中的printf具有原始值。
答案 0 :(得分:5)
在C中,您通过值将所有内容传递给函数,这意味着原始值不会更改 您可以传递变量的地址,取消引用它,原始值将被更改。
示例:
void incrementInt(int * myInt, int increment_val)
{
*myInt += increment_val
}