该程序需要简单地从键盘填充动态分配的矩阵。 我必须补充说我包括在内。我正在研究C++编译器,因此我必须将这些转换添加到malloc中。它似乎有这样的错误:“ConsoleApplication42.exe中的0x0F92FB53(msvcr120d.dll)未处理的异常:0xC0000005:访问冲突读取位置0xCDCDCDCD”。同时达到gets(a [i])命令。 调试后,它似乎也有一个非常适合自由序列的问题。动态分配的矩阵不允许输入
int main()
{
int n, i;
char **a;
printf("introduceti numarul de cuvinte:\n");
scanf("%d", &n);
a = (char**)malloc(n*sizeof(char*));
if (!a)
printf("alocare nereusita");
for (i = 0; i < n; i++);
{
a[i] = (char*)malloc(56 * sizeof(char));
}
for (i = 0; i < n; i++)
{
printf("introduceti urmatorul cuvant:\n");
gets(a[i]);
}
for (i = 0; i < n; i++)
free(a[i]);
free(a);
return 0;
}
一开始你永远不要检查你的任何malloc工作 – pm100