Warum funktioniert mein Programm "NULL in Arithmetik verwendet"

Schrieb ich Folgendes;

string words;
int a=0;
getline(cin,words);

while(words[a]!=NULL)
{                           
     a++;                    
}        
cout<<a<<endl;

Funktionierte es einwandfrei, aber wenn ich fügte hinzu, die Zeile am Ende:

string words;
int a=0;
getline(cin,words);

while(words[a]!=NULL)
{
      a++;                       
}
cout<<a<<endl;

if(words[1]=="a") {cout<<"the letter is a";}

Nicht mehr funktioniert. Warum?

  • Ist das ein Fehler oder eine Warnung? (Es klingt wie eine freundliche Warnung) Was ist der genaue text und die von dem compiler/Umgebung? Was bedeutet "funktioniert nicht" bedeutet?
  • Bitte vergleichen Sie nicht ein Charakter auf NULL. Verwenden Sie c == 0 oder c == '\0' statt. Auch: Anfangen zu zählen von null (words[0]=='a')
  • seine Warnung..ich bin mit bloodshed dev-cpp
  • Blutvergießen ist nur eine IDE, die ruft einige andere toolchain (in der Regel eine version von MinGW GCC, denke ich). Es wäre gut zu wissen, die version, die der compiler verwendet Blutvergießen zu installieren. Auch, als eine Allgemeine Regel, die Sie sollten mit kopieren/einfügen die Fehlermeldung, die Sie bekommen in der Frage.
InformationsquelleAutor user3723273 | 2014-06-09
Schreibe einen Kommentar