动态分配的矩阵不允许输入

sor*_*.va 1 c input matrix dynamically-generated

该程序需要简单地从键盘填充一个动态分配的矩阵。我必须补充一点,我包括。我正在使用 C++ 编译器,因此我必须将强制转换添加到 malloc。似乎有这个错误:“ConsoleApplication42.exe 中 0x0F92FB53 (msvcr120d.dll) 处的未处理异常:0xC0000005:访问冲突读取位置 0xCDCDCDCD。” 在到达 get(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;

}
Run Code Online (Sandbox Code Playgroud)

Tho*_*thy 5

在第一个 for 循环标头后有一个额外的分号!