Присвоение значений массиву: Subscripted value is neither array nor pointer nor vector - C (СИ)
Формулировка задачи:
Есть 2 массива:
При попытке присвоить значение
Выскакивает ошибка:subscripted value is neither array nor pointer nor vector. Как исправить?
int **tmp3; tmp3 = ( int **) malloc(sizeof(int*)*n); for (i=0; i<n; i++) { tmp3[i]=(int*)malloc(sizeof(int)*m); } a = ( int **) malloc(sizeof(int*)*n); for (i=0; i<n; i++) { a[i]=(int*)malloc(sizeof(int)*m); }
tmp3[i][j]=a[i][j]
Решение задачи: «Присвоение значений массиву: Subscripted value is neither array nor pointer nor vector»
textual
Листинг программы
for (i = 0; i < n; i++) { tmp3[i][0] = a[i][0]; printf ("\n:%d", tmp3[i][0]); }
Объяснение кода листинга программы
В данном коде выполняется следующие действия:
- Создается цикл for, который будет выполняться от 0 до n (включительно).
- Внутри цикла, каждой итерации присваивается значение a[i][0] элементу массива tmp3[i][0].
- После каждой итерации, выводится на экран значение элемента массива tmp3[i][0] с помощью функции printf. Вот список действий в виде нумерованного списка:
- Создается переменная i типа int и инициализируется значением 0.
- Создается массив tmp3 типа int размером n на 1.
- Каждая итерация цикла присваивает значение a[i][0] элементу массива tmp3[i][0].
- Выполняется операция вывода на экран значения элемента массива tmp3[i][0] с помощью функции printf.
- Значение переменной i увеличивается на 1 после каждой итерации цикла.
- Цикл выполняется до тех пор, пока значение переменной i меньше n.
- По завершении цикла, переменная i принимает конечное значение.
- Значение переменной i может быть использовано в следующих циклах или операциях.
- Результатом выполнения кода будет вывод на экран значений элементов массива tmp3. Надеюсь, это объяснение помогло вам понять, что происходит в данном коде.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д