目标是在所有出现的字母“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';
答案 0 :(得分:0)
只需复制字符,当您看到已复制T
时,请复制E
s1[n] = s[i];
n++;
if (s[i] == 'T')
{
s1[n] = 'E';
n++;
}