Informatică, întrebare adresată de gabiconstantin2, 8 ani în urmă

Ce se afiseaza in urma executarii urmatoarei secvente de instructiuni?
int a,b=2,c=1;
a=b=c, a=b==c;
cout<<a<<" "<<b<<" " <<c;
cu explicatii va rog


ovdumi: stiam ca e ceva logic
ovdumi: boolean
Corehowl: un tip bool (sau boolean) poate avea doar 2 valori, 0 si 1 (pentru fals sau adevarat)
Corehowl: si daca nu gresesc il defineai ca pe un integer, exemplu: bool ok = 1;
gabiconstantin2: am gasit. aia cu == inseamna ca a ia valoarea de adevar a expresiei b echivalent cu c
gabiconstantin2: daca b e diferit de c atunci a ia valoarea 0
gabiconstantin2: dar mersi oricum
ovdumi: sunt curios daca merge a=b==c in c++, adica vreau sa vad programul
ovdumi: o sa ai eroare de compilare
ovdumi: poate asta merge if((a=b)==c)

Răspunsuri la întrebare

Răspuns de Corehowl
1

Definesti trei termeni:

a fara sa ii dai o valoare

b cu valoarea 2

c cu valoarea 1

dupa care spui ca a=b=c care face:

a sa fie egala cu valoarea lui b (care e 2), dupa le dai valoarea lui c la amandoua spunand ca sunt egale cu 1 (c).

programul iti va afisa pe ecran cu cout (console output) 1 1 1

.

daca c avea valoarea 2 atunci pe ecran ar fii fost afisat 2 2 2

daca ar fii fost 3 atunci pe ecran ar fii fost afisat 3 3 3

Valorile lui a sau b nu conteaza pentru ca amandoua primesc valoarea lui c.


Corehowl: Mai explicit nu cred ca puteam sa fiu, dar daca mai ai vreo intrebare, poti sa ma intrebi.
ovdumi: scrie programul
ovdumi: asa vei fi foarte explicit
ovdumi: ma refer la a=b==c
Alte întrebări interesante