| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 617 人关注过本帖
标题:关于输出问题
只看楼主 加入收藏
tx686
该用户已被删除
收藏
已结贴  问题点数:20 回复次数:9 
关于输出问题
提示: 作者被禁止或删除 内容自动屏蔽
搜索更多相关主题的帖子: 输出 
2010-04-27 11:12
小郭
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-27 11:20
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:5 
void fun(int *a,  int  *b,  int  *c)
{
    *a=456; *b=567; *c=678;
}
void main()
{
    int x=10,  y=20,  z=30;
    fun(&x , &y,  &z);
    printf("%d  %d  %d", z ,  y,  x);
}
建议楼主看一下函数形参与实参方面的资料~~
2010-04-27 11:24
tx686
该用户已被删除
收藏
得分:0 
回复 2楼 小郭
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-27 11:46
tx686
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-27 11:56
tx686
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-27 11:59
b001lcp
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:45
专家分:157
注 册:2010-3-17
收藏
得分:5 
fun(x ,  y,  z);只是把实参的值传给形参,而函数中改变的是形参的值。
void fun(int a,  int  b,  int  c)
{
    a=456; b=567; c=678;
}


fun(&x , &y,  &z);把实参的地址传给了形参,这样,形参和实参拥有一样地址空间。因此,当形参的值被改变时,实际上是改变了形参的地址空间保存的内容,因而实参的值也被改变了
void fun(int *a,  int  *b,  int  *c)
{
    *a=456; *b=567; *c=678;
}

所以,当函数有出参时,一定要用指针类型
2010-04-27 12:26
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:5 
回复 6楼 tx686
形参只是实参的一个副本,按变量来说就是它们不是同一个变量,只不过是它们的值相等而已。。。
具体楼主到网上搜下实参形参吧,那里有讲得很详细的~
2010-04-27 12:29
andyzt406
Rank: 2
等 级:论坛游民
帖 子:43
专家分:37
注 册:2009-11-24
收藏
得分:5 
不是,只有用指针才能改变实参的值。单向传送的值传递方式,形参值的改变无法改变实参的值
2010-04-27 13:31
tx686
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-27 13:31
快速回复:关于输出问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023050 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved