Valorile x si y sunt de tip intreg, x memorand valoarea 8, iar y valoarea 6. Care dintre expresiile C/C++ de mai jos are valoarea 0?
a) 3*x-4*y==0
b) (x*y)/2 > x%y+1
c) !(x/2+2==y)
d) x-y+3!=0
Va rog sa si explicati raspunsul. Multumesc!
Răspunsuri la întrebare
Răspuns de
3
Daca a ar fi raspunsul corect, atunci ar trebui ca 3*8 - 4*6 sa nu dea 0, dar calculand, 24-24 = 0, deci a-ul pica.
Daca b ar fi raspunsul corect, atunci ar trebui ca (8*6)/2 sa fie mai mare decat 8%6+1. Cu alte cuvinte, 24 > 3 ar trebui sa fie fals, dar stim ca este adevarat. Deci si b-ul pica.
Daca c ar fi raspunsul corect, atunci ar trebui ca !(8/2+2 == 6). Deci !(6==6). Expresia dintre paranteze returneaza valoarea 1, dar semnul exclamarii indica negara acesteia. Si deci returneaza valoarea 0. C-ul este corect!
Daca d ar fi raspunsul corect, atunci ar trebui ca 8-6+3 sa fie 0. Dar 5 este diferit de 0, deci returneaza valoarea 1. Pe noi ne-ar fi interesat sa dea 0.
Concluzionand, varianta corecta este C-ul.
amvkyu:
Multumesc mult!
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Geografie,
9 ani în urmă
Matematică,
9 ani în urmă
Chimie,
9 ani în urmă