Kezdőoldal » Számítástechnika » Programozás » Miért működik ez? C

Miért működik ez? C

Figyelt kérdés

Van egy ilyen sorom:

if ((10*(f/10)-f)==0) printf("A");

Ez egy ciklusban van benne, ahol f megy 0-tól mondjuk 1000-ig. Ekkor a program minden 10. f-nél kiírja, hogy A. Miért működik ez? Hiszen f-et osztom, szorzom ugyanazzal a számmal, aztán kivonom belőle önmagát. A feltételnek midig teljesülnie kéne, nem? Mégis csak minden 10.-nél teljesül. Hogy van ez?


2017. nov. 30. 18:59
 1/3 anonim ***** válasza:

Mert egész számok esetén az osztás levágja a maradékot.

Tehát (15/10)*10 az 10 és nem 15.

2017. nov. 30. 19:10
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:
Értem, köszi szépen!
2017. nov. 30. 19:29
 3/3 anonim ***** válasza:

Így van, ez az integer osztás miatt van. De ha érthetőbben akarod kódolni, van maradékos osztás operátor. Azaz a fenti kódot le lehet így írni könnyebben:

if(f%10==0)

printf("A");

2017. nov. 30. 21:55
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!