Kezdőoldal » Közoktatás, tanfolyamok » Magyar iskolák » C programozás segítség!?

C programozás segítség!?

Figyelt kérdés

írtam if-es szerkezetet

if(egy=='h' && ketto=='7' ) { printf("gyalog\n");}


else printf("ures mezo\n");


de ha h7-et írok akkor kiírja, hogy gyalog meg hogy üres mező ! mi a hiba ?


2012. okt. 3. 23:18
 1/5 anonim ***** válasza:
Gondolom, hogy a sorvég-karakterekre is lefut (CR+LF) és annál fut else ágra. Ha a kód többi részét is mutatnád (mondjuk feltöltenéd pastebin-re), többet mondhatnék.
2012. okt. 4. 00:14
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
Feltöltöttem : [link]
2012. okt. 4. 10:28
 3/5 anonim ***** válasza:

Itt a gond:

else if (ketto!='1','2','7','8'){printf("ures mezo\n");}


Ide nem kell else, hanem a feltételt kéne jól megfogalmazni. Azt szeretnéd, hogy : if (ketto!='1'&&ketto!='2'&&ketto!='7'&&ketto!='8') ...


A gond az volt, hogy ha ezt írod: "ketto!='1','2','7','8'", akkor ez mást jelent. Itt a vessző operátorral választod el a kifejezéseket, tehát az utolsó értéke lesz az egész kifejezés értéke, ami '8'. Ez mindig igaz értéket jelent, mert nem nulla, tehát mindig lefut.

Kis olvasnivaló: [link]

2012. okt. 4. 11:49
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:

nagyon köszi!


és ugyanezt case-val és feltételes kifejezéssel hogy kellene valami ötletet tudsz adni ?

2012. okt. 4. 12:08
 5/5 anonim ***** válasza:
Kívül switch(ketto){...}, belül switch(egy){...}. Így egy csomó esetet össze tudsz vonni, így kicsit kevesebbet kell gépelni. Ha kész vagy, összehasonlíthatod az én megoldásommal: [link]
2012. okt. 4. 13:10
Hasznos számodra ez a válasz?

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!