标题:函数的返回值
取消只看楼主
kyletan0808
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2019-4-11
结帖率:50%
 问题点数:0 回复次数:3 
函数的返回值
刚接触C++
求教大家函数的返回值是怎样被主调用函数接收的?

比如 bool f(x,y);

int main()
{
  
  f(m,n);
  int m = ?;
  int n = ??;
  ....
  ....
}



bool f(x,y)
{
  if(x>y){
  return ture;
}else{
  return false;
}
  
}
那么这个bool值应该怎样保存,需要另外在main()中定义一个bool接收它吗?
搜索更多相关主题的帖子: 函数 返回值 int bool 接收 
2019-09-30 13:05
kyletan0808
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2019-4-11
得分:0 
int main()
{
  int m = ?;
  int n = ??;
  f(m,n);
  ....
  ....
}



bool f(x,y)
{
  if(x>y){
  return ture;
}else{
  return false;
}
  
}
那么这个bool值应该怎样保存,需要另外在main()中定义一个bool接收它吗




不好意思顺序弄错了,应该是这样
2019-09-30 13:07
kyletan0808
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2019-4-11
得分:0 
以下是引用rjsp在2019-9-30 13:22:00的发言:

你想保存那就 bool result = f(m,n)
你不想保存那就 f(m,n)

明白了,感谢不吝赐教! 如果返回值不被接收的话那它所占的内存就会立即被释放对吗?

另外还想请教一下:

bool noNegatives(const int array[],int siz)
{
    bool noduplicate = true;
    int count;
   
   
    for (count = 0; count < siz; count++){
            if(array[count] == array[count + 1]){     // 如果所有输入里面没有重复数,就返回1给主调用函数
               
                noduplicate = false;
               
              }
        }
   
    return noduplicate;

}

以上是我定义的一个函数,目的是比较所有接收到的用户输入(整数),如果没有重复的数组元素就返回1. 但是程序只能比较相邻的两个数如(1 2 3 4 5)。如果是(1 2 1 4 5)就无法返回真实的结果。 有什么提示可以避免这种情况吗?
谢谢!
2019-10-01 23:36
kyletan0808
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2019-4-11
得分:0 
以下是引用uouo99在2019-10-2 09:21:35的发言:

比较之前先排个序

#include<algorithm>
...
std::sort(array,array+count);
//再执行比较操作



好方法!
被作业困扰了一个星期终于解放了。。。
感激不尽!
2019-10-02 13:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-497077-1-1.html




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

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