Problema logica in C
Last Updated: May 30 2016 11:14, Started by
bitzi
, May 29 2016 22:49
·
0
#1
Posted 29 May 2016 - 22:49
Salut, am urmatoarea problema si nu inteleg cum functioneaza. Eu cred ca e ceva legat de conditie.
int functie() { int a=0, b=1, c=1, d=0; if (a==b==c==d==1) { return 0; } else { return 1; } } int main() { functie(); } La compilare programul imi afiseaza "return 0" desi conditia nu este indeplinita, este falsa, si anume a,b,c,d nu sunt egale cu 1, normal ar trebui sa afiseze "return 1" din clauza else. Rog ajutor. Edited by bitzi, 29 May 2016 - 22:54. |
#4
Posted 29 May 2016 - 23:08
a == b == c == d == 1 implică (((a== b ) ==c)==d)==1 implică (((0 == 1) == 1) == 0) == 1 implică ((0 == 1) == 0) == 1 implică (0 == 0) == 1 implică 1 == 1 rezultă 1
Edited by tavitu, 29 May 2016 - 23:09. |
#5
Posted 29 May 2016 - 23:18
La conditie probabil ai vrut sa zici if(a==1 && b==1 &&....etc)
|
#6
Posted 29 May 2016 - 23:18
tavitu are dreptate; egalitatea aia multiplă nu se face așa, nu există comparare multiplă cu semnul ==
trebuie să faci mai multe comparări și cu funcția ȘI între ele (&&) |
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users