Помощь - Поиск - Пользователи - Календарь
Полная версия: Массивы
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
Rocket

#include<stdio.h>
void main()
{ int a[4][5]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20}};
for(i=0;i<4;i++);
{for (j=0;j<5;j++);
printf("%d\n",a[i][j]);
printf("\n"); }
}

В чём ошибка при выводе массива?
volvo
Цитата
В чём ошибка при выводе массива?


for(i=0;i<4;i++); // <--- Вот в этой точке с запятой !!!

У тебя получился цикл с пустым "телом". Когда ты выходишь из этого цикла на следующую строку, то i уже равно 4, и при попытке обращения к элементу массива - выход за границы, ошибка...

Добавлено через 1 мин.
P.S. Во втором цикле будет то же самое, убирай ";" сразу и там тоже...
Rocket
Как организовать доступ к элементам массива А через указатель pА, где pА <двойной> указатель на целое, получающий адрес массива А?
volvo
Это здесь к чему? Или ты решил все вопросы с массивами задавать сюда?

Ну, вот так можно:
    int **pA = (int **)a;
for(i = 0; i < 4*5; ++i)
printf("%d ", *(pA + i));

Rocket
Цитата(volvo @ 28.10.2007 17:57) *

Это здесь к чему? Или ты решил все вопросы с массивами задавать сюда?

Если это возможно, то я так и планирую. Спасибо за подсказку)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.