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

void main(){
int b=0,i;
for(i=0;i<5;i++)
b+=i<3 && i>=1;
printf("%d",b);
}
cine ma poate ajuta cu o explicatie, de ce se afiseaza 2.


boiustef: nu-s priceput tare in C, dar parerea mea este urm:
expresia logica i < 3 && i >= 1 poate fi adevarata sau falsa (true / false) care au echivalent in int 1 sau 0. aceasta expresie logica este adevarata numai pt i=0 si i=1, pt celelalte valori ale lui i este falsa, Deci b de doua ori acumuleaza cate un 1 si deci rezulatul pt b va deveni 2
GabiAlex99: "aceasta expresie logica este adevarata numai pt i=0 si i=1, pt celelalte valori ale lui i este falsa" din cate vad eu, numai pentru 1 si 2, nu pentru 0 si 1... i<3 si i>=1 doar numerele 1 si 2

Răspunsuri la întrebare

Răspuns de me2018
0

expresia logica este adevarata pentru 1 si 2, deci va avea de doua ori valaorea 1.


boiustef: corect.. pt i=1 si i=2 este true ..
Alte întrebări interesante