» 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: #include, Libovolný text, Kompilátor




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

Proč je pro obézní lidi tak těžké shodit nadbytečná kila?

Proč je pro obézní lidi tak těžké shodit nadbytečná kila?

** Obézním lidem selhávají mechanismy, jež je mají chránit před nadměrným příjmem potravy ** Mozek tlouštíků ignoruje hormon leptin varující před hromaděním tukové tkáně v těle ** Vědci nyní odhalili, jak to udělat, aby mozek otupený obezitou leptin opět vnímal

Jaroslav Petr | 47


Aktuální číslo časopisu Computer

Jak vytvořit a spravovat vlastní web

Velký test herních klávesnic a DVB-T2 tunerů

Vše o formátu RAW

Vybíráme nejlepší základní desku