«Использование неназначенной локальной переменной «результат»»

#visual-studio

Вопрос:

 static void Main(string[] args)
    {
        Console.WriteLine(GetMax(2, 10, 40));
    }
    static int GetMax(int num1, int num2, int num3)
    {
        int resu<
        if (num1 >= num2 amp;amp; num1 >= num3)
        {
            result = num1;
        }
        else if (num2 >= num1 amp;amp; num2 >= num3)
        {
            result = num2;
        }
        else if (num3 >= num1 amp;amp; num3 >= num2)
        {
            result = num3;
        };
        return resu<
    }
 

«результат» подчеркнуто. я пытаюсь вернуть максимальное число в основной метод, но это не работает.

Ответ №1:

Я думаю, что ваша проблема просто в том, что вам нужно сначала чем-то инициализировать «результат». В начале вашей функции getMax вместо:

 int resu<
 

пробовать:

 int result = 0;
 

Инициализируя значение как нечто, вы должны быть хороши.

Другим вариантом было бы передать массив в getMax вместо отдельных чисел. Затем используйте цикл for, чтобы пройти через массив и назначить самый большой из них «результату». Этот метод позволит вам сравнивать массивы чисел любой длины, а не только 3:

 static void Main(string[] args)
{
    int[] numbers = {2, 10, 40};
    Console.WriteLine(GetMax(numbers));
}

static int GetMax(int[] nums)
{
  int result = 0;
  for (int i = 0; i < nums.Length; i   )
  if (nums[i] > result){
    result = nums[i];
  }
  return resu<
}
 

Надеюсь, один из этих вариантов сработает для вас!