c语言 有两道题

[复制链接]
查看11 | 回复3 | 2011-2-10 15:42:16 | 显示全部楼层 |阅读模式
你的两个程序的函数,都是通过传值,没有传地址,所以,不会对原值有改变;第二题输出结果是:1,3,2要使原值发生改变,就要做传地址,代码如下:#includevoid swap(int *x,int *y){int t; t=*x; *x=*y; *y=t; printf("%d %d\n",*x,*y);}main(){int a=3,b=4; swap(&a,&b); printf("%d %d\n",a,b);}...
回复

使用道具 举报

千问 | 2011-2-10 15:42:16 | 显示全部楼层
第一题是没有错。没有改变值啦。。应该要传它的地址才会发生改变。。你直接传值肯定不会交换啦。。!! 第二题答案是1.3.2。如果你不相信自己的,那你可以试一把。。!!...
回复

使用道具 举报

千问 | 2011-2-10 15:42:16 | 显示全部楼层
汗。第二题输出结果还是1,3,2。传入的都是形参怎么会改变值呢、...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行