2017-04-05 15 views
0

我试图在字符数组中插入一个特殊字符' - ',并且想要将它保存在另一个字符串中。要插入的字符使用循环完成。字符数组中的字符插入C

INPUT:

actgagc

atgac

OUTPUT

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功能,但没有取得任何结果。

+6

等都不是人力驱动transpiler服务。向我们展示你到目前为止尝试过的东西。现在,你有一些Java伪代码,但是你没有向我们展示你在C中实现同样的事情。阅读关于什么使得一个“好问题”的帮助部分_ –

回答

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; 
}