-2
x和y的最終值應該是x = 4和y = 21。我明白爲什麼y = 21,但是爲什麼x = 4?如果「a = 5」不將值更改爲5?謝謝函數中變量的變化值C
int f(int a, int *b){
a = 5;
*b = *b + 3*a;
}
int main(){
int x, y;
x = 4;
y = 6;
f(x, &y);
// What are x and y now?
}
C使用按值傳遞所有函數參數。在一個函數內改變一個變量不會改變傳入的原始變量的值。 – kaylum
@kaylum你介意對此進行詳細說明嗎? – Joe
最好如果你諮詢你的課本。任何基本的C語言書籍或教程都涵蓋了C語言的基礎知識。 – kaylum