我试图在字符数组中插入一个特殊字符' - ',并希望将其保存在另一个字符串中。要插入的字符是使用循环完成的。
INPUT:
actgagc
atgac
输出
actgagc
一个-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函数但没有实现结果。
答案 0 :(得分:0)
你需要为新字符串分配空间,所以不要忘记释放它......
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;
}