繁体   English   中英

用C语言中另一个字符串中的字符替换字符串字符

[英]substitute string character with a character from another string in C language

当我运行该程序时,它崩溃了。 我想将一个字符从一个字符串复制到另一个。 你能帮助我吗? 例如:我想将“ wello”作为array [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;
}

您在这里遇到一些问题:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM