Re: Modul strx,c2 Kategorie: Programmierung (von André H. - 3.11.2002 14:38) | |
Als Antwort auf Modul strx,c2 von Rainer - 3.11.2002 13:13
| |
Hallo Rainer, Das ist kein Fehler !!! Schau Dir die Funktion mal genau an: //--Strings vergleichen----------------------------------- function comp ( byte s1[], byte s2[]) returns byte //-------------------------------------------------------- {byte i; for i=0 ... 29 { if s1[i]!=s2[i] break; } if i==30 return -1; else return 0; } Die for-Schleife ist von 0 bis 29 definiert. Diese wird verlassen, sobald ein Zeichen unglich ist. Sind alle Zeichen gleich läuft sie bis zum Ende durch. Bei for-Schleifen wird am Ende der Schleife der Zähler - hier i - immer um eins bzw. dem bei step angegebenen Wert erhöht. Nachdem die Schleife mit dem Zähler gleich 29 durchgelaufen ist, wird der Zähler nochmals um eins erhöht. i hat somit den Wert 30 und ist gleichbedeutend mit: Alle Zeichen sind identisch. MfG André H. > Hallo, > > ich glaube einen Fehler im Modul strx.c2 entdeckt zu haben, > u.z. in der Funktion comp beim return: > > if i==len return -1; else return 0; > > muss wohl so aussehen: > > if i==len-1 return -1; else return 0; > > > mfg. Rainer > > Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | |
Antwort schreiben Antworten: |