计算机VC二级这道题怎么做的?为什么?谢谢了

[复制链接]
查看11 | 回复4 | 2011-9-12 03:01:23 | 显示全部楼层 |阅读模式
void fun(int a,int b){int t;t=a;a=b;b=t;}没有返回任何数值,对外面的数据没有影响。说到底就是形参和实参的问题,建议你去看这块的教材,是有一点难,不过还是可以理解的...
回复

使用道具 举报

千问 | 2011-9-12 03:01:23 | 显示全部楼层
这就是形参和实参的问题,在书上找到这部分的内容看看就知道了...
回复

使用道具 举报

千问 | 2011-9-12 03:01:23 | 显示全部楼层
下次传问题的时候记得有缩进,这样看起来舒服,以后自己修改也简单。言归正题,这个问题出在函数fun,函数参数(a, b)传入的方式是拷贝传递,也就是说将实参(main函数调用fun传入的值)的值拷贝给形参(a,b),这样在fun中交换的是形参的值而非实参的值。如果将fun函数改为这样:#includevoid fun(int *a,in...
回复

使用道具 举报

千问 | 2011-9-12 03:01:23 | 显示全部楼层
func(,c[i+1]);这个函数是不是写错了改fun吧这不是关键,这个题是考按值传递和按指针传递、引用传递的区别。按值传递只是传递的副本,原传递的值不变,指针和引用则不是...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行