gpt4 book ai didi

c - 如何使用c合并两个字符串?

转载 作者:行者123 更新时间:2023-11-30 21:40:42 25 4
gpt4 key购买 nike

#include<stdio.h>

/* a function to merge two strings */

void stringMerge(char* f, char* s){

while(*f++);

while((*f++ = *s++));

}

int main(){

char s1[] = "Hello ";

char s2[] = "World";

stringMerge(s1,s2);

printf("%s",s1);

return 0;

}

最佳答案

考虑到您要连接的字符串的声明,那么您似乎意味着以下函数实现。

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

char * stringMerge(const char *s1, const char *s2)
{
size_t n = strlen(s1);

char *p = (char *)malloc(n + strlen(s2) + 1);

if (p)
{
strcpy(p, s1);
strcpy(p + n, s2);
}

return p;
}


int main( void )
{
char s1[] = "Hello ";
char s2[] = "World";

char *p = stringMerge(s1, s2);

puts(p);

free(p);
}

或以下内容

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

char * stringMerge(const char *s1, const char *s2)
{
size_t n = strlen(s1);

char *p = (char *)malloc(n + strlen(s2) + 1);

if (p)
{
char *t = p;
while (*t = *s1++) ++t;
do { *t = *s2++; } while (*t++);
}

return p;
}

int main( void )
{
char s1[] = "Hello ";
char s2[] = "World";

char *p = stringMerge(s1, s2);

puts(p);

free(p);
}

在这两个程序中,输出是

Hello World

关于c - 如何使用c合并两个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44353241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com