c语言怎么判断实参是否受形参的影响,有的调用后实参改变,有些调用后又不变,求解释......谢谢

[复制链接]
查看11 | 回复4 | 2011-9-16 17:47:43 | 显示全部楼层 |阅读模式
实参是不会受到形参的影响的。就算传指针,也只是改变指针指向的值而已。...
回复

使用道具 举报

千问 | 2011-9-16 17:47:43 | 显示全部楼层
函数参数传递的是值,将实参的值拷贝到形参里,而实参是不变的int m, n;void swap(int a, int b){int temp;temp = a;a = b;b = temp;}swap(m,n);m,n在swap()执行前后值不变swap(int * a, int * b){int temp;temp = * a; ...
回复

使用道具 举报

千问 | 2011-9-16 17:47:43 | 显示全部楼层
函数调用中涉及到得形参,调用后仍然不变,例:#include "stdio.h"void fun(int i){i=i+100;}void main(){int m=0;fun(m);printf("%d",m);}此例子程序打印出的m值仍为0,原因是函数调用形参并不会影响实参的值,其他的依次类推不知这样讲...
回复

使用道具 举报

千问 | 2011-9-16 17:47:43 | 显示全部楼层
由程序输出可见:形参数组array与实参数组a占用的是同一个空间!...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行