Вместо массива программа выводит "мусор" - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. #include "stdafx.h"
  2. #include<stdio.h>
  3. #include<conio.h>
  4. int main(void)
  5. {
  6. int i, n;
  7. float a[50];
  8. n = 3;
  9. for (i = 1;i <n;i++) scanf_s("%d\n", &a[i]);//ввод массива
  10. for (i = 1;i <= n;i++) printf("%d\n", &a[i]);//вывод массива
  11. _getch();
  12. return 0;
  13. }
Почему выводит машинный мусор?

Решение задачи: «Вместо массива программа выводит "мусор"»

textual
Листинг программы
  1. for (i = 1;i <= n;i++) printf("%d\n", &a[i]);//вывод массива

Объяснение кода листинга программы

В данном коде выполняется следующие действия:

  1. Создается переменная типа int с именем i, которая инициализируется значением 1.
  2. Создается переменная типа int с именем n, которая инициализируется значением 10.
  3. Создается массив типа int с именем a, который инициализируется значениями от 0 до 9 (включительно).
  4. Выполняется цикл for, который начинается с i = 1 и продолжается до тех пор, пока i <= n.
  5. Внутри цикла выполняется команда printf, которая выводит значение i (которое является индексом массива a) и затем символ новой строки.
  6. Значение i увеличивается на 1 после каждой итерации цикла.
  7. После завершения цикла программа завершается. Код не выводит мусор, он выводит значения индексов массива a от 0 до 9. Если вместо этого вы видите мусор, то это может быть связано с неправильной памятью или другими проблемами в программе, которые не показаны в данном коде.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы