using System;namespace ConsoleApplication2
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
int [] a = {2,6,8,42,68,0};
int [] b = {8,20,86,5,8,8};
for(int i = 0; i<a.Length; i++)
{
Console.WriteLine("Max is: {0}",Max(a[i],b[i]));
}
}
private static int Max(int t,int k)
{
if(t>k)
return t;
if(t<k)
return k;
}
}
}
为何他说Max这个函数并非所有代码路径的返回值????

解决方案 »

  1.   

    Max里面有两个return
    把第二个if改成else
      

  2.   

    private static int Max(int t,int k)
    {
    if(t>k)
    return t;
    if(t<k)
    return k;
             return t;
    }t==k时程序就sb了
      

  3.   

    private static int Max(int t,int k)
    {
        int intRet = t;
        
    if(t>k)
    intRet = t;
    if(t<k)
    intRet = k;
            
        return intRet;
    }
      

  4.   

    private static int Max(int t,int k)
    {
    if(t>k)
    return t;
    if(t<k)
    return k;
            else      return t;
    }
      

  5.   

    private static int Max(int t,int k)
    {
       if(t>k)
        {return t;}
       else
        {return k;}
    }