为什么会出现以下段错误?
我正在使用标准 c99,带有 unix 的 icc 编译器。我不能让它没有段错误,我很好奇为什么。我对 strcat/strcpy 不太熟悉。
char *first = "First";
char *second = "Second";
char *both = (char *)malloc(strlen(first) + strlen(second) + 2);
strcpy(both, first);
strcat(both, " ");
strcat(both, second);
sprintf("%s %s", first, second);