» Poradna » Programy

Textové řetězce v jazyku C

 |   | 

Dobrý den, kde mám chybu? Chci, aby se po zadání správného "hesla" vytiskl "libovolný text", ale ačkoliv to kompilátor projde, tak to nedělá, co má...

#include
#include

int main(int argc, char *argv[])
{
char jmeno[15];
scanf("%s",jmeno);
if (jmeno == "Heslo") printf("Heslo je OK!");
system("PAUSE");
return 0;
}

Děkuji předem!

Odpovědi na otázku

 |   | 

Prosím, prosím, nenajde se zde nikdo, kdo by mi poradil ?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

V Ccku se porovnavaji retezce jinak
if (strcmp(jmeno,"Heslo") == 0) printf("Heslo je OK!");

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Ahoj. Tuším, že odpověď je v tom, že ukazatel na konstantní řetězec je něco jiného než pole znaků char.
Podmínka nebude nikdy splněna.

Pro porovnávání řetězců (respektive polí znaků) je funkce: strcmp

S tou by ti to mělo fungovat.


char jmeno[15];
scanf("%s",jmeno);

if (strcmp(jmeno,"Heslo")==0) printf("Heslo je OK!");
else
printf("Heslo NENI OK!");


Odpověď je možné hledat taky tady:
alpha.ujep.cz ...
a tady:
people.tuke.sk ...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

V c jsem nedělal už aspoň 5 let, ale pokud moje chbá paměť slouží dobře, nemělo by být
scanf("%s", &jmeno);

Ale jak říkám, moje paměť a jazyk C nejsou moc v dobré kondici

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Neni protoze jmeno uz je sam o sobe ukazatel, tak neni treba tam dodavat &

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Děkuji moc "johnnash" i "Squad_leader", funguje to nyní ZCELA DLE MÝCH PŘEDSTAV!

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

A jak se to chova pri zadani hesla dlouheho 15 a vice znaku?

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Char, #include, Libovolný text, Kompilátor


Určitě si přečtěte

Podívejte se, jak vypadá mikrofon nebo blecha pod elektronovým mikroskopem

Podívejte se, jak vypadá mikrofon nebo blecha pod elektronovým mikroskopem

** Z Brna pochází třetina světové produkce elektronových mikroskopů ** První československý kus vyrobila Tesla už v 50. letech ** Dnes na ni navazuje třeba brněnský Tescan

Jakub Čížek | 19

Co zabírá nejvíce místa na disku? Těchto 10 nástrojů odhalí největší žrouty dat

Co zabírá nejvíce místa na disku? Těchto 10 nástrojů odhalí největší žrouty dat

** Je vhodné jednou za čas zanalyzovat, co vám leží na disku ** Poradíme vám nástroje, kterými zjistíte, jaká data uchováváte ** Podle výsledků můžete optimalizovat svá data či úložiště

Karel Kilián | 49

Windows 10 podle našich čtenářů: Poslali jste nám skoro 300 nápadů, jak je vylepšit

Windows 10 podle našich čtenářů: Poslali jste nám skoro 300 nápadů, jak je vylepšit

** Microsoft aktualizuje Windows 10 dvakrát ročně ** Jenže praktických novinek už není tolik jako dříve ** Poslali jste nám skoro 300 tipů, co by se měly Desítky ještě naučit

Jakub Čížek | 138



Aktuální číslo časopisu Computer

Speciál o přechodu na DVB-T2

Velký test herních myší

Super fotky i z levného mobilu

Jak snadno upravit PDF