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() を使用する方法に関連していると推測しています。
ありがとう。