【问题标题】:substitute string character with a character from another string in C language用 C 语言中的另一个字符串中的字符替换字符串字符
【发布时间】:2016-02-04 05:35:18
【问题描述】:

当我运行这个程序时,它崩溃了。 我想将一个字符从一个字符串复制到另一个字符串。 你能帮助我吗? 例如:我想将“wello”作为数组 [0] 而不是“hello”

int main()
{
    int N=3;
    char *array[10];
    array[10]=malloc(N*sizeof(char));
    array[0]="hello";
    array[1]="wall";
    array[2]="dinner";
    array[0][0]=array[1][0];
    printf("array[0][0]: %c\n", array[0][0]);
    printf("array[0]= %s, array[1]= %s, array[2]= %s", array[0], array[1], array[2]);
    return 0;
}

【问题讨论】:

    标签: c arrays string malloc


    【解决方案1】:

    数组中的字符指针都没有指向有效的内存位置。您需要为每个指针执行一个malloc 以在其中存储一个字符串。 此外,array[10] 不在您为 array 声明的索引(即 0 到 9)之外。

    【讨论】:

      【解决方案2】:

      这里有一些问题:

      1. array 只有 10 个元素,因此没有索引为 10
      2. 您没有为分配给 array 的前 3 个元素的字符串分配空间,因此可能不允许修改它们。
      3. array 只使用 3 个元素,为什么会有 10 个元素?如果您从不使用它,为什么要为 11 号分配空间?

      【讨论】:

        猜你喜欢
        • 2021-06-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-14
        • 2013-06-27
        • 2021-12-04
        • 2011-02-21
        • 2011-06-06
        相关资源
        最近更新 更多