1

そのため、配列内の要素の値をインクリメントして void を返す関数を作成しています。ただし、新しい値をメインに戻すことができません。コードは次のとおりです。

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

関数への呼び出しは、incrementInt(myInt[i], value) です。関数内でprintfを実行すると、値が変更されますが、メインに戻るprintfには元の値があります。

4

1 に答える 1

5

C では、値によってすべてを関数に渡します。つまり、元の値は変更されません。
変数のアドレスを渡して逆参照すると、元の値が変更されます。

例:

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