Kezdőoldal » Számítástechnika » Programozás » Segítesz? Nem értem hogy itt...

Segítesz? Nem értem hogy itt mi is történik. // C++

Figyelt kérdés

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";


2012. jan. 14. 20:13
1 2
 11/18 anonim ***** válasza:

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

2012. jan. 14. 20:49
Hasznos számodra ez a válasz?
 12/18 A kérdező kommentje:
Tényleg!! :D
2012. jan. 14. 20:50
 13/18 A kérdező kommentje:

Még mindig nem értem.

Azt értem amit le írtál de nem így működik.

Ezt tapasztalom állandóan.

2012. jan. 14. 21:07
 14/18 A kérdező kommentje:

Már értem tutira sikerült :)

De most meg ezt nem értem:

if(error != 0)

2012. jan. 14. 21:11
 15/18 A kérdező kommentje:
Már értem ezt is
2012. jan. 14. 21:14
 16/18 anonim ***** válasza:

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

2012. jan. 14. 21:19
Hasznos számodra ez a válasz?
 17/18 anonim ***** válasza:
Látom elkéstem, és már megértetted :D
2012. jan. 14. 21:19
Hasznos számodra ez a válasz?
 18/18 iostream ***** válasza:
Amúgy az hülyeség, hogy a C++-ban ne lenne bool. Van bool, true és false értékeket vehet fel. Az egy más kérdés, hogy számból bool és boolból szám implicit konvertálódik, ettől függetlenül létezik a bool típus.
2012. jan. 14. 21:25
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!