| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1131 人关注过本帖
标题:请教
只看楼主 加入收藏
shujuk
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:39
专家分:100
注 册:2008-9-17
结帖率:0
收藏
 问题点数:0 回复次数:13 
请教
我是刚学习C语言的小白,今天在刚来论坛,下了点学习资料,感谢各位前辈的付出。
有个问题:在函数调用中,一个被调用的函数是否只能返回一个值?如一个子函数中接受2个输入值,能不能都传回主函数中去?
搜索更多相关主题的帖子: C语言 资料 
2008-09-17 20:27
沼泽
Rank: 4
等 级:业余侠客
威 望:8
帖 子:291
专家分:228
注 册:2008-9-15
收藏
得分:0 
只能返回一个值的,你可以将这两个值放在一个变量里面不就行了
2008-09-17 20:46
沼泽
Rank: 4
等 级:业余侠客
威 望:8
帖 子:291
专家分:228
注 册:2008-9-15
收藏
得分:0 
或者是直接将这两个值赋给主函数的两个变量
2008-09-17 20:47
gongjiandenghua
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-09-17 21:03
gongqivictor
Rank: 1
来 自:武汉科大
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-9-16
收藏
得分:0 
同意楼上的
int *function(int a)
{
....
};
2008-09-17 21:19
smallmoon521
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:517
专家分:1373
注 册:2008-4-21
收藏
得分:0 
[bo][un]gongqivictor[/un] 在 2008-9-17 21:19 的发言:[/bo]

同意楼上的
int *function(int a)
{
....
};

  你这是指针函数啊,不是变量指针~不行滴~

为游戏狂~~!!    大家努力编哈!
2008-09-17 22:14
p1s
Rank: 4
等 级:贵宾
威 望:10
帖 子:454
专家分:3
注 册:2005-11-4
收藏
得分:0 
指针和引用都可以实现……
2008-09-17 22:20
smallmoon521
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:517
专家分:1373
注 册:2008-4-21
收藏
得分:0 
引用是C++的语法,标准C里没有,不过这没什么.大家都是这么用的.

为游戏狂~~!!    大家努力编哈!
2008-09-17 22:25
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
1 严格地返回两个值:参见fork函数和vfork函数
2 得到两个结果:在参数中使用指针,指向接受返回值的内存单元。
3 从返回值得到多个结果:返回经malloc分配的指针(低效,不安全),多个返回值通过位运算组合在一个返回值中(繁琐),返回结构体(效率随编译器的处理而定)。

自己选择方法。不过最好的办法是认真设计高效简洁科学经济的函数调用界面。

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-09-17 22:51
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
PS 如果你使用汇编,则可以在完全不损失效率的情况下返回1~4个值,不过其实这没什么用处……因为现代C编译器也会做这种优化,效率提高不明显。

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-09-17 22:53
快速回复:请教
数据加载中...
 
   



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

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