cyber_gh0st
08.09.2009, 16:35
Hi community
ich habe grade memcmp() ausprobiert:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char a[30];
char b[30];
int i = 30;
int y;
printf("Gib ein Wort ein:");
fgets(a,30,stdin);
printf("Gib ein anderes Wort ein:");
fgets(b,30,stdin);
printf("DANKE für die eingabe\n");
y = memcmp(a, b, i);
if( y == 0 ) {
printf("Oh mein Gott nicht grade fantasievoll deine Eingabe...\n");
}
exit(EXIT_SUCCESS);
}
dabei ist dann das herumgekommen:
gh0st@a450-netbook:~$ cd Desktop
gh0st@a450-netbook:~/Desktop$ gcc test.c
gh0st@a450-netbook:~/Desktop$ ./a.out
Gib ein Wort ein:Hallo
Gib ein anderes Wort ein:Hallo
DANKE für die eingabe
gh0st@a450-netbook:~/Desktop$ ./a.out
Gib ein Wort ein:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAA
Gib ein anderes Wort ein:DANKE für die eingabe
gh0st@a450-netbook:~/Desktop$ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
bash: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA: command not found
gh0st@a450-netbook:~/Desktop$ ./a.out
Gib ein Wort ein:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA
Gib ein anderes Wort ein:DANKE für die eingabe
Oh mein Gott nicht grade fantasievoll deine Eingabe...
gh0st@a450-netbook:~/Desktop$
gh0st@a450-netbook:~/Desktop$
Warum kommt "oh mein Gott..." nicht wenn ich 2 mal Hallo eingebe???
und warum muss ich nicht 2 Eingaben machen wenn ich in die erste mehr als 30 Zeichen hereinpacke ich dacht mit fgets()
werden in meinem Fall nur 30 Zeichen eingelesen???
ich habe grade memcmp() ausprobiert:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char a[30];
char b[30];
int i = 30;
int y;
printf("Gib ein Wort ein:");
fgets(a,30,stdin);
printf("Gib ein anderes Wort ein:");
fgets(b,30,stdin);
printf("DANKE für die eingabe\n");
y = memcmp(a, b, i);
if( y == 0 ) {
printf("Oh mein Gott nicht grade fantasievoll deine Eingabe...\n");
}
exit(EXIT_SUCCESS);
}
dabei ist dann das herumgekommen:
gh0st@a450-netbook:~$ cd Desktop
gh0st@a450-netbook:~/Desktop$ gcc test.c
gh0st@a450-netbook:~/Desktop$ ./a.out
Gib ein Wort ein:Hallo
Gib ein anderes Wort ein:Hallo
DANKE für die eingabe
gh0st@a450-netbook:~/Desktop$ ./a.out
Gib ein Wort ein:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAA
Gib ein anderes Wort ein:DANKE für die eingabe
gh0st@a450-netbook:~/Desktop$ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
bash: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA: command not found
gh0st@a450-netbook:~/Desktop$ ./a.out
Gib ein Wort ein:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA
Gib ein anderes Wort ein:DANKE für die eingabe
Oh mein Gott nicht grade fantasievoll deine Eingabe...
gh0st@a450-netbook:~/Desktop$
gh0st@a450-netbook:~/Desktop$
Warum kommt "oh mein Gott..." nicht wenn ich 2 mal Hallo eingebe???
und warum muss ich nicht 2 Eingaben machen wenn ich in die erste mehr als 30 Zeichen hereinpacke ich dacht mit fgets()
werden in meinem Fall nur 30 Zeichen eingelesen???