【发布时间】:2021-09-30 11:52:14
【问题描述】:
我正在尝试按照此处的建议将某个字符串(字符数组)附加到另一个字符串: https://stackoverflow.com/questions/10279718/append-char-to-string-in-c#:~:text=To%20append%20a%20char%20to%20a%20string%20in,because%20the%20given%20literal%20string%20cannot%20be%20modified
我的代码如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(){
char *mystring="Life";
int length_string=strlen(mystring);
char *string_continuation=" is life";
int length_continuation=strlen(string_continuation);
char *new_word=malloc(length_string+length_continuation+1);
strcpy(new_word,mystring);
for (int i=0; i<length_string; i++){
new_word[length_string+i]=string_continuation[i];
}
new_word[length_continuation+length_string]="\0";
printf("The final word is %s", new_word);
free (new_word);
return 0;
}
但是,我遇到了典型的错误:
assignment makes integer from pointer without a cast [-Wint-conversion]
指的是行:
new_word[length_continuation+length_string]="\0";
有谁知道为什么会出现这样的错误?非常感谢
【问题讨论】:
标签: c char c-strings string-literals