002
25.12.2003, 18:08 Uhr
Pablo
Supertux (Operator)
|
wenn du char* mit == vergleichst, dann vergleichst du den Inhalt nicht, sondern wo sie zeigen. D.h. if (name==lastname) bedeutet, wenn name und lastname auf die selbe Stelle zeigen.
Um den Inhlat zu vergleichen, stellt string.h die Funktion strcmp zur Verfügung. strcmp vergleicht beide char* und liefert 0 wenn beide gleichen Inhalt haben, und einen Wert ungleich 0 wenn beide String nicht gleich sind.
C++: |
if(strcmp(name, lastname)==0) { printf("Der Nachname und der Name stimmen überein.\n"); }
|
Die char*s müssen 0-Terminierende char*s sein.
2. if(name=='bla') wird nie funktionieren, denn du vergelichst einen Pointer mit einem char. Außerdem muss nur ein Zeichen innerhalb ' '. 'bla' ist nicht erlaubt, weil es kein Zeichen bla gibt, bla ist eine Zeichenkette. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! |