Сумма чисел, встречающихся в таблице умножения 8. Что не так с моим кодом? Желаемый результат-440, и я получаю 33204

#c #initialization #declaration #do-while

Вопрос:

Сумма чисел, встречающихся в таблице умножения 8. Что не так с моим кодом? Желаемый результат-440, а я получаю 33204.

 #include <stdio.h>

int
main ()
{
  int sum, n, p;
  printf ("Sum of numbers occurring in the multiplication table of 8: ");

  do
    {
      p = 8 * n;
      sum  = p;
      n  ;

    }
  while (n <= 10);

  printf ("%d", sum);

  return 0;
}
 

Комментарии:

1. Какова начальная стоимость n ? Помните, что неинициализированные переменные действительно неинициализированы. С неопределенными значениями.


Ответ №1:

Вы используете неинициализированные переменные

 int sum, n, p;
 

которые имеют неопределенные значения.

В результате ваша программа ведет себя неопределенно.

Вам нужно инициализировать их следующим образом

 int sum = 0, n = 1, p;