簡體   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