行列(D * D)を作成するために使用される数値を入力するようにユーザーに要求するだけのコードをCで記述しようとしています。次に、文字を挿入してから印刷します。
これは私が書いたものです:
int d; //matrix size
int i,k; // used for the loops
char **mat; // pointer to a pointer to char
printf("\nenter matrix size\n"); // size of the X*X matrix
scanf("%d",&d);
mat=(char **)malloc(d*sizeof(char *));
for (i=0;i<d;i++)
mat[i]=(char *)malloc(d*sizeof(char));
printf("enter %d strings with length %d\n",d,d);
for (i=0;i<d;i++)
for (k=1;k<=d;k++)
mat[i][k]=getchar();
for (i=0;i<d;i++)
for (k=0;k<d;k++)
printf("%c",mat[i][k]);
--d = 3と入力すると、異常終了して無限ループに入ります。たとえば、5と入力すると、4文字ではなく4文字を入力するのに3回しか表示されません。
ありがとうppl!