返回处理数组的 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 函数的主要内容,如果未能解决你的问题,请参考以下文章