hab hier ne hausübung die folgendermaßen lautet: Schreibe eine Funktion, die mit Hilfe von Zeigern einen String str1 mit einem anderen
zweiten String str2 vergleicht.
Ist str1 kleiner als str2 wird -1, ist str1 grösser als str2 wird 1 und bei Gleichheit wird 0 zurückgegeben.
Beachten Sie, dass zwischen Groß- und Kleinschreibung unterschieden wird.(ich frage mich was das mit der länge zu tun hat?!).
Rufe deine Funktion im main mit mehreren Zeichenketten auf.
ich schätze er meint man soll so ne art passwortkontrolle versuchen...
nun hab ichs mal versucht, aber mein programm stürtzt ab, zeigt aber keine fehler oder warnungen an.
wir haben erst zeiger gelernt und ich kann das noch nich so
würd mich freuen wenn mir einer helfen kann und mir ein paar tips geben kann...
zweiten String str2 vergleicht.
Ist str1 kleiner als str2 wird -1, ist str1 grösser als str2 wird 1 und bei Gleichheit wird 0 zurückgegeben.
Beachten Sie, dass zwischen Groß- und Kleinschreibung unterschieden wird.(ich frage mich was das mit der länge zu tun hat?!).
Rufe deine Funktion im main mit mehreren Zeichenketten auf.
ich schätze er meint man soll so ne art passwortkontrolle versuchen...
nun hab ichs mal versucht, aber mein programm stürtzt ab, zeigt aber keine fehler oder warnungen an.
wir haben erst zeiger gelernt und ich kann das noch nich so
Code:
/******************************************/
/* Beschreibung: Diese Programm vergleicht*/
/* die Länge zweier Strings */
/******************************************/
#include
#include
int strcmp(char [], char []);
void main()
{
char zk1[] = "Hallo, wie gehts?";
char zk2[] = "Gruess dich, wie gehts?";
char *p;
char *p2;
int erg = 0;
p = &zk1[0];
p2 = &zk2[0];
erg = strcmp(zk1, zk2);
printf("Ergebnis: %d", erg);
}
/* Diese Funktion vergleicht die Laenge zweier Strings. */
int strcmp(char zk1[], char zk2[])
{
char *p = 0;
char *p2 = 0;
int laenge1 = 0;
int laenge2 = 0;
while(zk1[*p] != '\0')
{
p++;
laenge1++;
}
while(zk2[*p2] != '\0')
{
p2++;
laenge2++;
}
if(laenge1 < laenge2) // Wenn String1 kleiner als String2
return -1;
else if(laenge1 > laenge2) // Wenn String1 groesser als String2
return 1;
else // Gleich gross
return 0;
}
/* Programmabsturz */
würd mich freuen wenn mir einer helfen kann und mir ein paar tips geben kann...