// Übung 9 // Johann Gysin // 6.6.2001 #include // wegen scanf/printf #include // wegen Clearscreen (clrscr) // Konstanten #define LaengeString 20 // Funktionen int StringsVergleichen(char *string_a, char *string_b, int *position); void main(void) { // Lokale Variabeln char wort_a[LaengeString] = ""; char wort_b[LaengeString] = ""; int status; int position; // Startbildschirm clrscr(); printf("Stringvergleichsprogramm (mit Pointer (-Sisters))\n"); printf("-------------------------------------------------\n"); printf("\n\n"); // Usereingaben printf("Erstes Wort eingeben: "); scanf("%s", wort_a); printf("\nZweites Wort eingeben: "); scanf("%s", wort_b); status = StringsVergleichen(wort_a, wort_b, &position); if (status == 1) printf("\nString 1 ist grösser (ASCII-Wert des Zeichens)"); if (status == 2) printf("\nString 2 ist grösser (ASCII-Wert des Zeichens)"); if (status == 3) printf("\nBeide Strings sind identisch"); if (status < 3) printf("\nAb dem %d. Zeichen sind die Strings unterschiedlich", position); printf("\n\nZum beenden Return drücken..."); gets(wort_a); gets(wort_a); } int StringsVergleichen(char *string_a, char *string_b, int *position) { char *ErstesZeichen = string_a; while ((*string_a == *string_b) && (*string_a != '\0') && (*string_b != '\0')) { string_a++; string_b++; } *position = (string_a - ErstesZeichen + 1); if (*string_a == *string_b) return (3); if (*string_a > *string_b) return (1); else return (2); }