2017-07-28 36 views
-1

目标是字母“T”在字符串中插入“E”,“T”之后的W/O带“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

's1'和's'是不同的。你打算在's'中插入什么? – BLUEPIXY

+0

's1'是's'的新修改版本。 – Shallon

+0

在这种情况下,T不会被T代替,而只是意味着复制。 – BLUEPIXY

回答

0

只需复制字符,当你看到你已拷贝T,复制E

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