C programozás problémám van. (? )
Figyelt kérdés
#include<stdio.h>
main()
{
int a=6;
if(1<a<5)
printf("1 és 5 közé esik");
else
printf("Nem esik közé");
}
Itt ez a prog kód, de miért azt írja ki, hogy 1 és 5 közé esik?
A 6 az nagyobb mint 5, és a feltétel így hamis nem?
2011. dec. 3. 14:40
1/4 anonim válasza:
A feltételt így kellene megadni: if(1 < a && a < 5), itt a && jelenti az és logikai műveletet.
2/4 anonim válasza:
Azt még hozzátenném, hogy az if(1<a<5) azért nem jó, mert a C ezt úgy értelmezi, hogy részekre bontja:
(1 < a) < 5
C-ben az igaz az az 1-es számnak felel meg, míg a hamis a 0-nak.
1 < a -> igaz, szám értéke 1 -> 1 < 5 -> igaz => (1 < a) < 5 = igaz.
3/4 A kérdező kommentje:
ez 1 egyetemi tesztben volt kérdés :DD
Szóval akkor az összetett feltételt tagolni kell pl && vagy || jelekkel, vagy külön kellene vizsgálni 2 if-fel. Ugye jól mondom?
2011. dec. 3. 14:58
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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!