| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 581 人关注过本帖
标题:新手问题
只看楼主 加入收藏
Soul寂
Rank: 1
等 级:新手上路
帖 子:117
专家分:1
注 册:2008-9-29
结帖率:100%
收藏
 问题点数:0 回复次数:9 
新手问题
在int main()中有:
 if (disc>0)
  {
   greater_than_zero(a,b);
   cout<<"x1="<<x1<<",x2="<<x2<<endl;
  }

在函数:
void greater_than_zero(float a,float b)   
 {
  x1=(-b+sqrt(disc))/(2*a);
  x2=(-b-sqrt(disc))/(2*a);
 }

如果在函数前面加 void表明函数是一个无返回值函数,函数void greater_than_zero(float a,float b) 都不向main返回值,那么cout有怎么能输出x1,x2呢?他是怎么知道x1和x2的值呢?


另外 如果函数不为void类型,而又想向调用他的函数返回不止一个值(两个或者两个以上),该怎么办呢?(用return肯定不行)

[[it] 本帖最后由 Soul寂 于 2008-10-21 21:35 编辑 [/it]]
2008-10-21 21:31
choco1024
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:183
专家分:140
注 册:2008-8-31
收藏
得分:0 
因为在主函数内你已经定义了x1,x2,再通过调用void greater_than_zero(float a,float b) 函数,就算是给x1,x2赋值了,所以在主函数中可以输出来。我是新手,不知道这样的解释可以不,请版主指点哈~`
2008-10-21 21:40
Soul寂
Rank: 1
等 级:新手上路
帖 子:117
专家分:1
注 册:2008-9-29
收藏
得分:0 
回复 2# choco1024 的帖子
但是void greater_than_zero(float a,float b)就不返回值给主函数啊!
那么主函数又怎么知道x1和x2的值呢?
2008-10-21 21:43
choco1024
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:183
专家分:140
注 册:2008-8-31
收藏
得分:0 
if (disc>0)
  {
   x1=greater_than_zeroX1(a,b);
   x2=greater_than_zeroX2(a,b);
   cout<<"x1="<<x1<<",x2="<<x2<<endl;
  }

在函数:
float greater_than_zeroX1(float a,float b)   
{
  return (-b+sqrt(disc))/(2*a);
}
float greater_than_zeroX2(float a,float b)
{
  return (-b-sqrt(disc))/(2*a);
}
2008-10-21 21:46
choco1024
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:183
专家分:140
注 册:2008-8-31
收藏
得分:0 
还是请楼主整个代码贴出来吧,我不知道你那x1,x2在哪定义的,我猜你那可能就编译不过去。
2008-10-21 21:49
zxwangyun
Rank: 4
来 自:云南
等 级:业余侠客
威 望:1
帖 子:232
专家分:299
注 册:2008-10-17
收藏
得分:0 
x1,x2若是全局变量的话,此法可以
2008-10-21 21:53
Soul寂
Rank: 1
等 级:新手上路
帖 子:117
专家分:1
注 册:2008-9-29
收藏
得分:0 
回复 5# choco1024 的帖子
编译通过了,可就是这儿我很困惑,函数void greater_than_zero(float a,float b)向主函数没有返回x1和x2的值,但是主函数还是可以输出x1和x2!
2008-10-21 21:53
Soul寂
Rank: 1
等 级:新手上路
帖 子:117
专家分:1
注 册:2008-9-29
收藏
得分:0 
回复 6# zxwangyun 的帖子
为什么呢?
为什么全局变量就可以?
2008-10-21 21:58
choco1024
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:183
专家分:140
注 册:2008-8-31
收藏
得分:0 
想不到,如果函数内没定义x1,x2的话,会报错undecleared identifier。还是全部代码吧。
2008-10-21 22:15
newyj
Rank: 2
等 级:新手上路
威 望:3
帖 子:542
专家分:0
注 册:2008-1-4
收藏
得分:0 
lz 把代码贴出来 互相学习学习嘛
2008-10-22 13:16
快速回复:新手问题
数据加载中...
 
   



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

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