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



当我运行这个程序时,它会崩溃。我想把一个字符从一个字符串复制到另一个字符串。你能帮我吗?例如:我希望使用"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]: %cn", 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)。

相关内容

  • 没有找到相关文章