C语言中调用函数交换两个变量的值需要传递地址,为什么相加就可以直接用
我的意思是,用函数交换两个值需要地址传递,那函数比如intadd(inta,intb){returna+b;}这个不需要地址传递?...
我的意思是,用函数交换两个值需要地址传递,那函数比如
int add(int a,int b)
{
return a+b;
}
这个不需要地址传递? 展开
int add(int a,int b)
{
return a+b;
}
这个不需要地址传递? 展开
1个回答
展开全部
举个栗子:
有100个房间,从0到99编号,每个房间放在不同的食材。
交换两个变量的值
只需要告诉你把A房间和B房间的东西调换,你不需要知道房间里面放的是什么。只需要知道AB的房间号;
加法:如果问你A房间和B房间里的食材可以做什么菜,你就需要知道AB房间分别放了什么。不需要知道房间号。
有100个房间,从0到99编号,每个房间放在不同的食材。
交换两个变量的值
只需要告诉你把A房间和B房间的东西调换,你不需要知道房间里面放的是什么。只需要知道AB的房间号;
加法:如果问你A房间和B房间里的食材可以做什么菜,你就需要知道AB房间分别放了什么。不需要知道房间号。
追问
还是很迷茫,就比如
这个函数int add(int a)
{
return a++;
}
int main()
{
int a=1;
int c=add(a);
printf("%d",c);
}
为什么还是1?但是函数里面换成return a+1就变成2了?
追答
注意a++和++a的差别。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询