Вместо массива программа выводит "мусор" - C (СИ)
Формулировка задачи:
Листинг программы
- #include "stdafx.h"
- #include<stdio.h>
- #include<conio.h>
- int main(void)
- {
- int i, n;
- float a[50];
- n = 3;
- for (i = 1;i <n;i++) scanf_s("%d\n", &a[i]);//ввод массива
- for (i = 1;i <= n;i++) printf("%d\n", &a[i]);//вывод массива
- _getch();
- return 0;
- }
Решение задачи: «Вместо массива программа выводит "мусор"»
textual
Листинг программы
- for (i = 1;i <= n;i++) printf("%d\n", &a[i]);//вывод массива
Объяснение кода листинга программы
В данном коде выполняется следующие действия:
- Создается переменная типа int с именем i, которая инициализируется значением 1.
- Создается переменная типа int с именем n, которая инициализируется значением 10.
- Создается массив типа int с именем a, который инициализируется значениями от 0 до 9 (включительно).
- Выполняется цикл for, который начинается с i = 1 и продолжается до тех пор, пока i <= n.
- Внутри цикла выполняется команда printf, которая выводит значение i (которое является индексом массива a) и затем символ новой строки.
- Значение i увеличивается на 1 после каждой итерации цикла.
- После завершения цикла программа завершается.
Код не выводит
мусор
, он выводит значения индексов массива a от 0 до 9. Если вместо этого вы видитемусор
, то это может быть связано с неправильной памятью или другими проблемами в программе, которые не показаны в данном коде.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д