回 帖 发 新 帖 刷新版面

主题:帮忙

using System;
class ddr
{
    static int maxvalue(int[] intarray, out int maxindex)
    {
        int maxval = intarray[0];
        maxindex = 0;
        for (int i = 1; i < intarray.Length; i++)
        {
            if (intarray[i] > maxval)
            {
                maxval = intarray[i];
                maxindex = i;
            }
        }
        return maxval;
    }
    static void Main()
    {
        int[] myarray ={ 2, 22, 3, 34, 12 };
        int maxindex;
        Console.WriteLine("the max number is {0}", maxvalue(myarray, out maxindex));
        Console.WriteLine("the first number is {0}", maxindex + 1);
    }
}
这里的第二个输出为什么是4呀

回复列表 (共2个回复)

沙发


int[] myarray ={ 2, 22, 3, 34, 12 }
中的序号,是从0开始的。

所以
maxvalue(myarray, out maxindex)
返回的应该是34的序号,为3。

 Console.WriteLine("the first number is {0}", maxindex + 1);
就返回4了。

板凳

楼上是对的,数组下标从0开始。

我来回复

您尚未登录,请登录后再回复。点此登录或注册