2017-07-28 4 views
-1

目標は、文字「T」を挿入し、W/O「T」で焼き戻した文字列で「T」の後に「E」

のすべての出現後に「E」を挿入することである。しかし、これは以下のどのようなコードでありますい:

すぐに文字「T」が検出されたとして...

それはその後、「E」を挿入し、別の「T」と「T」を置き換え

ことがないので、それは変更することができますどのように

それは余分な仕事のように思われるので、 "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++; 
} 
関連する問題