不明白,可以解答一下吗?

img


为什么c的值依然是4,而不是6呢?
11111111111111

希望采纳

因为在C语言中,函数的参数是按值传递的。这意味着函数内部的参数c只是a和b的乘积值的一份拷贝。改变参数c的值不会影响函数外部的c变量。
这个程序中:

  1. 在main函数中,c被初始化为4。
  2. fun函数被调用,传入a=2,b=3和c=4(c的值是拷贝)。
  3. 在fun函数内部,c被计算为a*b的值,也就是c=6。但是这只改变了fun函数内的c,不影响外部main函数中的c。
  4. fun函数返回,外部的c变量仍然是4。
  5. 打印c的值为4。
    所以最终结果是4,而不是6。

你打印的不是fun中的c呀

混淆了,fun()里的c叫啥都行,可以是d、e、f
int fun(int a,int b,int d){
return d=a*b;
}

int c=4;
c=fun(2,3,c);
返回6