Jyzak C - porovnávání řetězce (char[])
Dobrej,
ví někdo proč mě tento program v C nefunguje správně? Dle mě je to správně, ale ten datový typ char dělá problémy. V C++ je string a tam to jde normálně, ale zde nevím.
#include <stdio.h>
#include <stdlib.h>
int main()
{
char x[20];
do {
printf("Zadej heslo: ");
scanf("%s", &x);
} while (x != 'abcd1234');
printf("Super!");
getch();
return 0;
}
A kedze x uz je pointer, tak do scanf mas davat len x, a ne &x
A na porovnavanie stringov v C je funkcia strcmp.
A ten program je deravy jak emental. (neosetrena dlzka, nad 20 to prepise stack a hacker si moze robit co chce spustat viry atd alebo vstupovat bez hesla)
A string v C sa dava do uvodzoviek a ne do apostrofov. To je uplne nieco ine.