006
20.07.2004, 17:52 Uhr
Pablo
Supertux (Operator)
|
Zitat von typecast: |
Nicht bei char* Arrays. Da musst du mit der Funktion strcmp aus dem Header string.h arbeiten (diese liefert 0 bei Gleichheit zurück):
|
Das klingt am Anfang komisch, weil man meint, dass 1 zurückgegeben wird, wenn etwas wahr usw, aber beim strcmp hat man 2 identische strings, wenn strcmp 0 zurückliefert. Das leigt daran, dass strcmp den lexykographischen Abstand zurückliefert. Bsp: "Man" und "Mbn" haben als Abstand 1, d.h. strcmp("Man", "Mbn") müsste 1 oder -1 zurcückliefern. Wenn 2 Inhalten übereinstimmen, dann gibt es keinen Abstand, der Abstand ist 0.
Wenn du bei char*, die Zeiger sind, == benutzt, dann vergleichst du, ob beide auf die selben Stelle zeigen und nicht, den Inhalt der Stellen, auf die die Zeiger zeigen. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 20.07.2004 um 17:52 Uhr von Pablo editiert. |