C语言中调用函数交换两个变量的值需要传递地址,为什么相加就可以直接用

我的意思是,用函数交换两个值需要地址传递,那函数比如intadd(inta,intb){returna+b;}这个不需要地址传递?... 我的意思是,用函数交换两个值需要地址传递,那函数比如
int add(int a,int b)
{
return a+b;
}
这个不需要地址传递?
展开
 我来答
知e自动化
2018-01-23 · 工业技术 黑科技 自动化
知e自动化
采纳数:72 获赞数:182

向TA提问 私信TA
展开全部
举个栗子:
有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的差别。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式