返回处理数组的 int 函数

Posted

技术标签:

【中文标题】返回处理数组的 int 函数【英文标题】:returning int functions that deal with arrays 【发布时间】:2017-05-06 21:40:30 【问题描述】:

我是 C++ 新手,还没有完全掌握函数的概念。我写的这段代码应该得到一个数组并显示数组、最大的数字和最小的数字。除了显示最低和最高之外,一切正常。我对如何返回这些值并显示它们感到困惑。

int find_highest(int array[], int size)
    
        int count;
        int highest1;
        highest1 = array[0];
        for (count = 1; count < size; count++)
        
            if (array[count] > highest1)
                highest1 = array[count];
        
        cout << "The highest values is: " << highest1 << endl;
    

【问题讨论】:

请edit您的问题提供minimal reproducible example。 输入是十个值,输出是这十个值。应该是这10个值然后是最大值然后是最小值 请输入十个值 条目号 1:23 条目号 2:3 ... 条目号 10:0 23 3 3 4 5 6 7 8 9 0 -----这是代码停止**然后它应该显示数组中的最高数和最低数 它会这样做,但你需要在最后暂停一下,这样它就不会立即关闭窗口。使用 cin.get();作为基本的“等待按键”命令。但是,有时您需要在 cin.get 之前使用 cin.ignore(); 刷新 cin 流。和/或 cin.clear();仅当您之前使用 cin 时,缓冲区中可能会留下一些不匹配的字符。 【参考方案1】:

具有返回值的函数必须通过 return 关键字将其传递出去。例如你有 findHighest:

int find_highest(int array[], int size)

    int count;
    int highest1;
    highest1 = array[0];
    for (count = 1; count < size; count++)
    
        if (array[count] > highest1)
            highest1 = array[count];
    

    // replace the cout with a return:  
    // cout << "The highest values is: " << highest1 << endl;
    return highest1; 

请注意,函数总是在遇到返回时结束,因此,如果您有一个具有单独分支的函数,每个分支都有一个 return 语句,那么这些表示函数退出的位置(但最好在底部有一个返回点如果可能,尤其是对于大型、复杂的函数)。

现在,您在调用函数中创建一个变量来保存返回值,您现在可以在 main 中使用它:

int highest = find_highest(array, ten_values);
cout << "The highest values is: " << highest << endl;

或者,如果您不需要将***别用于其他任何操作,您现在可以直接从打印命令内部调用该函数:

cout << "The highest value is: " << find_highest(array, ten_values) << endl;

【讨论】:

啊谢谢!这项工作让我免于头痛...... LOL

以上是关于返回处理数组的 int 函数的主要内容,如果未能解决你的问题,请参考以下文章

函数指针的返回值是指针数组,数组里放的是int;函数指针的返回值是指针数组,数组里放的是int指针

函数的返回值能不能是数组?在其他函数中怎么接收?

C语言函数中怎么返回一个二维数组

是否可以声明一个返回数组的函数? [复制]

在 C++ 中返回多维数组的函数

c++函数返回一个数组