黑马程序员技术交流社区

标题: 函数返回值是数组时如何返回? [打印本页]

作者: zhl406893081    时间: 2014-3-13 18:11
标题: 函数返回值是数组时如何返回?
本帖最后由 zhl406893081 于 2014-3-13 19:05 编辑

函数返回值是数组时如何返回?
我想返回一个数组,但只返回了数组的第一个值,C#里也没有指针,怎么返回一个数组?
  1. static void Main(string[] args)
  2.         {
  3.             int[] sum = new int[7];
  4.             int max = 0, min = 0;
  5.             int[] number = { 30, 43, 5635, 63, 142, 325, 6734 };
  6.             sum[0] = MUS(ref number, out min, out max);
  7.             Console.WriteLine("最小为{0} 最大为{1}", min, max);
  8.             for (int i = 0; i < sum.Length; i++)
  9.             {
  10.                 Console.WriteLine(sum[i]);
  11.             }
  12.             Console.ReadKey();
  13.         }

  14.         static int MUS(ref int[] number, out int min, out int max)
  15.         {
  16.             min = number[0];
  17.             max = number[0];
  18.             int[] aaa = new int[7];
  19.             for (int i = 0; i < number.Length; i++)
  20.             {
  21.                 aaa[i] = number[i];
  22.                 if (number[i] > max)
  23.                     max = number[i];
  24.                 if (number[i] < min)
  25.                     min = number[i];
  26.             }
  27.             return aaa[0];
  28.             
  29.         }
复制代码




作者: 夢醒了⊙﹏⊙b心    时间: 2014-3-13 18:17
将返回值int改为int[]
作者: zhl406893081    时间: 2014-3-13 18:43
夢醒了⊙﹏⊙b心 发表于 2014-3-13 18:17
将返回值int改为int[]

主函数接收返回值时怎么写?
作者: 白夜行    时间: 2014-3-13 18:56
如果想返回一个整型数组,那么将函数返回值类型改为 int[] 就可以了;其实求一个数组中的最大值最小值,既然你用 ref 和 out ,函数的返回值可以为 void 的
如果你想测试函数怎么返回一个数组并接收它,可以将 MUS 函数这么定义
  1. static int[] MUS(ref int[] number, out int min, out int max)
复制代码

根据你的代码,然后最后
  1. return aaa
复制代码


在主函数里
  1. sum = MUS(ref number, out min, out max);
复制代码

最后遍历sum数组就可以了
作者: zhl406893081    时间: 2014-3-13 19:05
受教了,问题解决了.
作者: 流失的温度0    时间: 2014-3-14 23:54
把返回值类型也写成数组,int写成int[],在主函数中接收的话就定义一个数组,int[] i,像这样。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2