我正在尝试用 C 编写一个代码,它只是要求用户输入一个数字,该数字将用于创建一个矩阵 (D*D);然后插入字符然后打印。
这就是我写的:
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 例如它只给我 3 次输入 4 个字符而不是 4 个字符。
谢谢大家!