Segítesz? Nem értem hogy itt mi is történik. // C++
int error;
cin >> error;
if(!error) /*Ez mit csinál? Tudom megvizsgálja az error-t de nem értem,hogy mit is vizsgál meg rajta.*/
cout <<"bla bla bla";
else
cout <<"ha ha ha";
C képes átalakítani a számokat logikai értékre a következőképpen:
szam=0 //hamis
szam=1 //igaz
szam>1 //igaz (a legtöbb fordítónál)
Na az "error" is egy szám, és ha megvizsgálnád, hogy if(error) akkor a fentiek szerint értelmezné a program, vagyis ha az error==0, akkor hamis lesz, és ha az error>0 akkor igaz.
A ! jel negálást fejez ki, tehát ha az érték igaz, akkor hamis, lesz, és ha hamis, akkor igaz lesz
if(!error) : ha error==0, akkor error==false(hamis), de mivel a ! ott van, ezért negálódik és igaz lesz
ha error>=0 akkor error==true(igaz), de a !-jel ebből hamisat csinál
if(!error) az olyan, mintha if(error==0) lenne
Még mindig nem értem.
Azt értem amit le írtál de nem így működik.
Ezt tapasztalom állandóan.
Már értem tutira sikerült :)
De most meg ezt nem értem:
if(error != 0)
if( feltétel )
feltétel egy logikai érték: igaz vagy hamis
a>0: ez ki fog értékelődni igazra, vagy hamisra, és azt dolgozza fel ez: if( a>0 )
Ha te ezt írod, hogy if(true) vagy if(1), elfogadja a fordító és lefordul a programod
ha ezt írod if(error), akkor /ha az error igaz(>0)/ akkor úgy viselkedik a program, mintha if(true)-t írtál volna
if(!error) pont az ellentettje
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!