Я пытаюсь запустить следующий код на C:
#include "ex1_1.h"
void path(char **adj_mat, int u, int v)
{
printf("test\n");
char temp = *adj_mat[1];
putchar(temp);
}
int main()
{
int u = 5;
int v = 5;
char mat[5][5]={
{'0', '1', '1', '1', '0'},
{'0', '0', '0', '0', '1'},
{'0', '0', '0', '0', '0'},
{'0', '0', '0', '0', '0'},
{'0', '0', '0', '0', '0'}
};
char** adj_mat = (char**)&mat;
printf("Mtest\n");
path(adj_mat, u, v);
return 1;
}
и я получаю «Ошибка сегментации».
Я не знаю почему, я предполагаю, что это связано с тем, как я использую putchar() с указателями на многомерные массивы.
Спасибо.
char** adj_mat = (char**)&mat;
бесполезно.mat
уже является символом **. - person   schedule 28.04.2012const
. - person   schedule 28.04.2012