| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 460 人关注过本帖
标题:引用返回程序的两个疑问?
只看楼主 加入收藏
lixang
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2006-7-15
收藏
 问题点数:0 回复次数:4 
引用返回程序的两个疑问?

# include <iostream.h>

int fact(int n,int & rSquare,int & rCubed) //求一个数的平方,立方并返回他们的值!
//问题1:这里的n也可以写成为&n后程序输出相同!!为什么?
{
if( n>20 ||n<0){
cout<<"输入错误"<<endl;
return 1; }
else {
cout<<"输入正确"<<endl;
rSquare=n*n;
rCubed=n*n*n;
return 0;}
}

void main()
{
int num,squ,cub,error;
cout<<"please input num(0--20):\n";
cin>>num;

error=fact(num,squ,cub); //问题2:这个逻辑费解!是不是if (error)指代fact中的 if( n>20 ||n<0)?
if (error)
cout<<"error encounted ...:\n";
else
{
cout<<"num:"<<num<<endl;
cout<<"squ:"<<squ<<endl;
cout<<"cub:"<<cub<<endl;
}
}

搜索更多相关主题的帖子: include return color 
2006-08-30 11:18
ww84020209
Rank: 1
等 级:新手上路
帖 子:190
专家分:0
注 册:2006-8-21
收藏
得分:0 

问题1:就相同啊。
问题2:if (error)指代fact中的 if( n>20 ||n<0)


2006-08-30 11:33
lixang
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2006-7-15
收藏
得分:0 
以下是引用ww84020209在2006-8-30 11:33:41的发言:

问题1:就相同啊。//为什么 fact(int n...里面的n就相同于fact(int &n...里面的&n呢?
问题2:if (error)指代fact中的 if( n>20 ||n<0)

2006-08-30 11:55
yeshirow
Rank: 4
等 级:贵宾
威 望:10
帖 子:854
专家分:0
注 册:2006-6-8
收藏
得分:0 

所不同的就是, 使用 &n 意味著你可以在 fact 中修改 n 所引用的變數(在你的問題中是 num 這個變數). 使用 n 表示你不能通過 n 來修改 num.


原來朋友仔感情再天真, 亦是我永遠也會愛惜的人, 明日愛他人, 也記住學會不要緊; 原來朋友比戀人更高分, 亦讓我開始懂得不記恨, 若大家都敏感, 我更要永遠記得拒絕再因小事怪人, 爲何沒有這條校訓...Twins-朋友仔 MCSD Training
2006-08-30 13:13
paopao
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-9-1
收藏
得分:0 
int fact(int n,int & rSquare,int & rCubed)
{if( n>20 ||n<0)
cout<<"输入错误"<<endl;
return 1;}
error=fact(num,squ,cub);
if (error)//此处若error为真即error=1;则即执行返回为1的函数.即if( n>20 ||n<0)这一步.
同理若为假,则执行返回值为0的函数.
2006-09-01 16:38
快速回复:引用返回程序的两个疑问?
数据加载中...
 
   



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

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