| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 759 人关注过本帖
标题:返回值的问题10.14
只看楼主 加入收藏
xuexuexue
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2004-7-19
收藏
 问题点数:0 回复次数:7 
返回值的问题10.14
#include<stdio.h>
void as(int x,int y,int *cp,int*dp)
{*cp=x+y;
 *dp=x-y;
}
main()
{int a=4,b=3,c,d;
 as(a,b,&c,&d);
 printf("%d%d\n",c,d);
}
这道题中没有反回值,为什么算出来的结果7和1会传回c和d????
搜索更多相关主题的帖子: 返回值 
2004-10-14 22:27
e路奔跑
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-10-9
收藏
得分:0 

7和1是c、d的值,保存在c、d所代表的地址中。它不是函数的返回值,函数的返回值是有专门的堆栈来存放的(也许还有其他的存放的方法,我不了解),你定义了void型函数,就没有返回值。如果你定义了int型的函数,里面有句“return a”,那么在程序运行完的时候会自动把a的值压入int型的堆栈。

个人观点


2004-10-15 00:37
心若在
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2004-9-21
收藏
得分:0 

*cp=x+y; *dp=x-y;

就等于c=x+y;

d=x-y;

你说是不是7和1;


我知道我菜 但我会尽我最大的努力去帮助别人!
2004-10-15 16:41
竹本鸟
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2004-10-5
收藏
得分:0 

你是问:

这道题中 我想“没有返回值”,为什么算出来的结果7和1会传回c和d????

#include<stdio.h> void as(int x,int y,int *cp,int*dp) {*cp=x+y; *dp=x-y; } main() {int a=4,b=3,c,d; as(a,b,&c,&d); printf("%d%d\n",c,d); }

看一下源程序,我是这样认为的:

因为,“c,d"的指针作为实参去替代形参,这样改变的值是是他们地址里存放的内容, 所以自然就有返回值。( 个人观点!)


个人主页:wwweye. C语言正在学习中...... --------------------------------------------------
2004-10-17 07:11
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 

看一下基础教材的传值和传址,还有引用。

int live41(int &a,int &b) main() { live41(m,n); }

int live41(int *a,int *b) main() { live41(&m,&n); }

以上两种都行,而且原理都一样,用哪种就看你方便。

2004-10-17 09:26
CoolFlyTow
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2004-9-16
收藏
得分:0 
竹本鸟说的对阿,这关系到一个指针的问题,你虽然没有穿送变量,只不过是传送了一个副本但是,这个 副本是指针,*cp=x+y;*dp=x-y;改变的是指针指向的数据当然会改变c和d阿

2004-10-17 14:36
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 
地址!

2004-10-17 14:57
xuexuexue
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2004-7-19
收藏
得分:0 
明白了,谢谢大家

C语言让我感爱到了计算机的乐趣 目前目标:程序员
2004-10-17 20:30
快速回复:返回值的问题10.14
数据加载中...
 
   



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

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