Kezdőoldal » Számítástechnika » Programozás » C programozás problémám van. (? )

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.
2011. dec. 3. 14:48
Hasznos számodra ez a válasz?
 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.

2011. dec. 3. 14:58
Hasznos számodra ez a válasz?
 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
 4/4 anonim ***** válasza:
Igen.
2011. dec. 3. 19:20
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!