gpt4 book ai didi

字符数组 C 中的字符插入

转载 作者:行者123 更新时间:2023-11-30 16:47:42 27 4
gpt4 key购买 nike

我试图在字符数组中插入一个特殊字符“-”,并希望将其保存在另一个字符串中。要插入的字符是使用循环完成的。

输入:

actgagc

atgac

输出

actgagc

a-tga-c

在第二个字符数组中 - 被插入以代替丢失的字符。

该程序是在JAVA中使用简单的字符串连接函数完成的,但无法进行C语言的字符插入。

Java 代码是:

while (k > 0 && l > 0) {
if (condition 1) {
r_string1 += string_1[k - 1];
r_string2 += string_2[l - 1];
k--;
l--;
} else if (condition) {
r_string1 += "-";
r_string2 += string_2[l - 1];
l--;
} else {
r_string1 += sring_1[k - 1];
r_string2 += "-";
k--;
}
}

在 C 语言中,我尝试对字符数组中的字符插入执行相同的操作。尝试使用strcat、memmov函数但没有取得结果。

最佳答案

您需要为新字符串分配空间,因此不要忘记释放它...

char * f(char *s1, char * s2)
{
char *s3 = malloc(strlen(s2)+1);
char *ret = s3;

while (*s2)
{
if (*s1++ == *s2)
*s3 = *s2++;
else
*s3 = '-';
s3++;
}
*s3 = '\0';
return ret;
}

关于字符数组 C 中的字符插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43234576/

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