T
Taxotic
Gast
Hi,
wenn ich die Funktion strcmp(s1,s2) anwende, sollten eigentlich zwei strings verglichen werden. Sollten diese übereinstimmen gibts 0 als Rückgabewert.
In meinem Programm werden Wörter umgedreht, und anschließend getestet ob sie übereinstimmen.
Bsp: hallo -> ollah stimmt nicht überein
rentner ->rentner stimmt überein
Nach dem Vertauschen lasse ich die beiden Zeichenketten "hilf" und "wort" ausgeben, auch wenn sie übereinstimmen wird in der Vergleichsfunktion kein 0 zurückgegeben.
Hat das vielleicht etwas mit dem /0 zutun?
Danke für eure Hilfe!
wenn ich die Funktion strcmp(s1,s2) anwende, sollten eigentlich zwei strings verglichen werden. Sollten diese übereinstimmen gibts 0 als Rückgabewert.
In meinem Programm werden Wörter umgedreht, und anschließend getestet ob sie übereinstimmen.
Bsp: hallo -> ollah stimmt nicht überein
rentner ->rentner stimmt überein
Nach dem Vertauschen lasse ich die beiden Zeichenketten "hilf" und "wort" ausgeben, auch wenn sie übereinstimmen wird in der Vergleichsfunktion kein 0 zurückgegeben.
Hat das vielleicht etwas mit dem /0 zutun?
Danke für eure Hilfe!
Code:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int i,j;
char *hilf;
char wort[20];
printf("Wort\n");
fgets(wort, 20, stdin);
hilf = (char *) malloc (strlen(wort)* sizeof(char));
for (i=0, j=strlen(wort)-1; i<=strlen(wort)-1, j>=0; i++, j--)
{
hilf[j]=wort[i];
hilf[strlen(wort)]='\0';
}
printf("%s",wort);
printf("\n%s",hilf);
if (strcmp(wort, hilf)==0)
printf("\n ja!");
else
printf("\n No!");
return 0;
}