-------------------------------------
从长码中可以看出你要返回就是一个 INT, 先不管你的程序做什么的逻辑怎样 。我个人认为改动的话可以这样改:
private static int? Max(int[] arr)
{
int? temp=null;
for (int i = 0; i < arr.Length-1; i++)
{
if (arr[i]>arr[i+1])
{
temp= arr[i];
break;
}
else
{
temp= arr[i + 1];
break;
}
}
return temp;
}
用到这个函数时 只要看一下返回结果是不是为NULL 就行了。
如果数组的长度为0的时候,for语句里面根本不能执行,所以就没有返回值
那怎么修改?
这个函数的问题不在返回值不返回值,逻辑有问题。
直接在最后面反回一个0不行么.?就是说如果数组没有元素的时候.就反回0
private static int Max(int[] arr) { for (int i = 0; i < arr.Length-1; i++) { if (arr[i]>arr[i+1]) { return arr[i]; } else { return arr[i + 1]; } } return -1; }