Ha az i és j változók int típusúak és d és e változók double típusúak, akkor a következő kifejezések közül hánynak lesz határozottan pozitív az értéke?
i=2/3; j=2./3; d=2/3; e=2./3;
elvileg a megoldás az e, de nem értem, hogy miért? mit jelent a "./"? sehol nem találok magyarázatot...
Ha "C" nyelvről beszélsz:
Int/Int = Int
Double/Int = Double
Int/Double = Double
Double/Double = Double
Azaz 2/3 az Int-et ad.
2.00/3 Double-t
Folytatás:
Mivel a "0"-kat elvileg matematikailag nem kell kiírni, így a 2.00 nem más mint 2. azaz double-t csinálsz és ezt osztod 3mas: 2./3
Mondjuk én a 0 lehagyással még nem kísérleteztem.
i=2/3; kisebb mint 1 és két dolog miatt is integer -> 0
j=2./3; kisebb mint 1 és csak egy dolog miatt integer -> 0
d=2/3; kisebb mint 1 és egy másik dolog miatt integer -> 0
e=2./3; kisebb mint egy és törtszám -> >0 <1
"j=2./3; kisebb mint 1 és csak egy dolog miatt integer -> 0"
Hát ezt nem értem: csak 1 dolog miatt integer. ezt kifejtenéd? Maga az osztás double típust generál, amit 1 integerbe tenne bele, ami típus hibát okozna.
"típus hibát okozna"
úgy érted implicit konverziót?
azért haladjunk már a korral, már a c90 is több, mint 20 éves és ez abban is működik
@iostream:
erről tudok(nem feltétlen tartom hasznosnak), de úgy láttam c-ről volt szó, és ez a c++11-ben is működik
de ez tényleg rosszul jött ki:D
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!