2017-01-18 3 views
-2

Was ist falsch an diesem Code? Ich versuche, Zeichenfolge und Leerzeichen zu vergleichen. ErsetzenVergleichen von Leerraum und Array

void main() 
{ 
    char d; 
    int i; 
    char* mystring="Vikram Natarajan"; 
    char c=mystring[0]; 
    printf("%c\n",c); 
    for(i=0;i<100; i++) 
    { 
     if(mystring[i]==" ") 
     { 
      d=mystring[i+1]; 
     } 
    } 
    printf("%c\n",d); 
} 
+3

Nun, Sie nicht sagen, was es tun muss, so wie können wir wissen, was falsch ist? – Stargateur

+3

Es gibt viele Dinge falsch; Um was genau bitten Sie? Zum Beispiel, was soll "d" sein? Ihre Zeichenfolge ist nicht 100 Zeichen lang usw. –

+1

Im Allgemeinen ist die Antwort auf [Was sollte 'main()' zurück?] (Http://stackoverflow.com/questions/204476/) ist "ein' int' " und nicht "void". Microsoft gibt Ihnen eine Ausrede, "void" zu verwenden, aber portabler Code vermeidet dies. –

Antwort

1

if(mystring[i]==" ")

Mit

if(mystring[i]==' ')

Verwenden Sie ein Apostroph für char Vergleich.

1

Wenn Sie die richtige Antwort hinzufügen, können Sie auch isspace von ctype.h verwenden. Diese Funktion überprüft grundsätzlich, ob das übergebene Zeichen mystring[i] ein Leerzeichen ist oder nicht. Also statt:

if(mystring[i]==' ') 

könnten Sie tun:

if (isspace(mystring[i])) 
Verwandte Themen