C语言 同样是void类型 为什么第一张没有返回值,第二张可以有返回值

2025-03-12 13:43:26
推荐回答(2个)
回答1:

第一题改成:
void fun(int *a, int *b){
int c;
c = *a; *a=*b; *b=c; //交换数值
}
数值才能通过函数成功交换。
第二题, 函数里 做了 b[I]=b[I]*2; 运算, 改变了数值。
你需要复习一下,如何通过函数指针参数传递数值。

回答2:

第一个,相当于按值传递
第二为按地址传值