-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