2013-09-20 115 views
1

所以我正在寫一個函數來增加數組中元素的值並返回void。然而,我無法獲得新的價值迴歸主流。代碼如下:在C中,無法獲得一個數組來保存新值

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

對函數的調用是incrementInt(myInt [i],value)。當我在函數中運行printf時,它正在修改這些值,但main中的printf具有原始值。

回答

5

在C中,您將所有值都傳遞給函數,這意味着原始值不會被更改。
您可以傳遞變量的地址,解除引用它,原始值將被更改。

實施例:

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