小编Jas*_*ale的帖子

如何使2D字符数组完全为空?

我正在使用malloc创建一个2D数组,当我遍历该数组时,有一些我不想要的字符和符号。数组不应该完全为空吗?

我试图将空字符分配给每一行的开头,但这不会改变任何内容。

    char **structure;
    structure = malloc(sizeof *structure * 2);
    if (structure) {
        for (size_t i = 0; i < 2; i++) {
            structure[i] = malloc(sizeof *structure[i] * 20);
            structure[i][0] = '\0';
        }
    }
    for (int i = 0; i <= 2; i++) {
        for (int j = 0; j < 20; j++) {
            printf("%c ", structure[i][j]);
        }
        printf("\n");
    }

Run Code Online (Sandbox Code Playgroud)

我期望输出只是空白,但这是出现的情况:

Z Ñ             P  Ñ             l   L O
Z Ñ               P  Ñ             N U M B
Run Code Online (Sandbox Code Playgroud)

c

3
推荐指数
1
解决办法
80
查看次数

标签 统计

c ×1