将“T”后面的“E”插入一个没有“T”回火的字符串中

时间:2017-07-28 09:54:47

标签: c

目标是在所有出现的字母“T”

之后插入“E”

但这就是下面的代码:

检测到字符“T”后很快......

将“T”替换为另一个“T”,然后插入“E”

如何改变,以免它将“T”替换为另一个“T”,因为它似乎是额外的工作。

相反,它可以简单地将现有的“T”留在原地......移动它并插入“E”。

char s1[1024];
int i, n;

  for (i=0, n = 0; s[i]!= '\0'; i++)
  {
    if (s[i] == 'T')
    {
            s1[n] = 'T';
            n++;
            s1[n] = 'E';
            n++;
    }
    else
    {
        s1[n] = s[i];
        n++;
    }
}
s1[n] = '\0';

1 个答案:

答案 0 :(得分:0)

只需复制字符,当您看到已复制T时,请复制E

s1[n] = s[i];
n++;    
if (s[i] == 'T')
{
  s1[n] = 'E';
  n++;
}