gpt4 book ai didi

c - 如何连接两个不同字符串中的字母

转载 作者:行者123 更新时间:2023-11-30 18:51:54 25 4
gpt4 key购买 nike

我想逐个字母地连接 2 个不同的字符串。我怎样才能做到这一点?例如:a = "hid", b = "jof"连接字符串应为 "hjiodf"

到目前为止我已经尝试了这么多:

#include <stdio.h>
#include <conio.h>

void concatenate2(char p[], char q[]) {
int c = 0, d = 0;
//Iterating through both strings
while (p[c] != '\0' || q[d] != '\0' ) {
//Increment first string and assign the value
c++;
p[c] = q[d];
//Increment second string and assign the value
d++;
p[c] = q[d];
}
} //<<====== missing }

int main(void)
{
char w[100], a[100];
//input first string
printf("Input a string\n");
gets(w);
//input second string
printf("Input Second string\n");
gets(a);
//function call
concatenate2(w, a);
//print result
printf("String obtained on concatenation is \"%s\"\n", w);
getch();
return 0;
}

最佳答案

函数 concatenate2 无法按编写的方式工作,因为它在使用目标缓冲区的字符之前覆盖了目标缓冲区。

这样修改:

void concatenate2(char p[], const char q[]) {
int i, len = strlen(p);
p[len + len] = '\0';
for (i = len; i-- > 0;) {
p[i + i + 1] = q[i];
p[i + i] = p[i];
}
}

如果字符串具有不同的长度,则规范不清楚如何组合字符串。

关于c - 如何连接两个不同字符串中的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35678247/

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