2017-07-28 1 views
-1
Vergütungs

Das Ziel ist „E“ nach allen Vorkommen des Buchstaben „T“Insert „E“ nach „T“ in einem String w/o mit „T“

Aber das ist, was der Code unten einfügen tut:

Sobald das Zeichen „T“ ...

erkannt und ersetzt „T“ mit einem anderen „T“ fügt dann „E“

wie es verändert werden kann, so ist es nicht der Fall ist Ersetzen Sie "T" durch ein anderes "T", weil es wie eine zusätzliche Arbeit erscheint.

Stattdessen kann man einfach das vorhandene "T" an Ort und Stelle lassen .. nachher bewegen und das "E" einfügen.

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' und 'S' unterschiedlich sind. Bedeutet das, was Sie beabsichtigen, in 's' einzufügen? – BLUEPIXY

+0

's1' ist die neue modifizierte Version von' s'. – Shallon

+0

In diesem Fall wird T nicht durch T ersetzt, sondern bedeutet einfach kopieren. – BLUEPIXY

Antwort

0

Kopieren Sie einfach Zeichen und wenn Sie sehen, Sie haben T kopiert, kopiert ein E

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