Zitat:
Zitat von Daiquiri [...]
Kann ich ein Array ohne weiters auf Gleichheit prüfen?
z.B.:
char array[] = "hallo";
if (array == hallo) { ... };
Das ist jetzt mal ganz simpel dargestellt! Ich könnte wetten dafür muß ich etwas mehr tun!?!
[...] |
Wie Du schon richtig vermutest, ist das nicht soooo einfach. Fuer Zahlenarrays muesstest Du eine for-Schleife darumbauen, die die arrays elementweise vergleicht. Das geht natuerlich nicht fuer Buchstabenketten, deren Laenge Du nicht kennst. Das geht am einfachsten, indem Du <string.h> includest. Da drin stehen einige Funktionen mit denen man allerlei Spass mit Zeichenketten anstellen kann, unter anderem eben auch Vergleiche. Das geht dann mittels strcmp (=STRingCoMParison):
Code:
#include <stdio.h>
#include <string.h>
int main()
{
char array[] = "hallo";
if ( strcmp (array, "hallo") == 0)
{
printf("yesssss\n");
}
else
{
printf("arrrrrrgh\n");
}
return 0;
}
srtcmp liefert 0 zurueck, wenn beide Strings gleich sind, Werte verscheiden von 0, wenn sich die Strings unterscheiden. Was man mit string.h sonst noch alles machen kann, ist
hier aufgelistet.
Gruesse, kerri