Bonsoir peut on mélanger les conditions dans la fonction if comme les && et les || ?
exemple :
[if ((cellules==1)&&(dehors == 1)&& (digitalRead(celluleporte)==LOW)&&( digitalRead(detectpresence1)==HIGH) || (digitalRead(detectpresence2)==HIGH)) { /code]
si oui il semblerait qu il y a un ordre?
bonne soirée
Les expressions sont évaluées de gauche à droite, en tenant compte des priorités des opérateurs.
Pour une meilleure lisibilité, il vaut mieux bien tout regrouper avec des parenthèses.
Merci pour l information ce qui veut dire oui on peut mélanger mais attention dans l ordre logique de gauche a droite dans l écriture du programme
Donc, dans l'exemple donné, le if sera vrai si toutes les conditions reliées par le && seront simultanément vraies, ou bien si la dernière est vraie.
Est-ce ce que tu veux ?
Yep!
L'absence de parenthèse n'aide pas vraiment dans l'exemple cité pour savoir ce que l'utilisateur désire réellement faire. Et dans le fond, le µC s'en fout un peu...
Si toutes les conditions inclusives ET sont remplies, l'expression est vraie. Si on a seulement le OU, l'expression est vraie aussi.
@+
Zoroastre.
nope, c'est la norme C qui le définit : le OU s'applique à la kyrielle de ET (donc simultanés) et au dernier membre.
Un peu comme
A x B x C x D x E x F + G
XavierMiller:
nope, c'est la norme C qui le définit : le OU s'applique à la kyrielle de ET (donc simultanés) et au dernier membre.
Un peu comme
A x B x C x D x E x F + G
Pas compris le "nope" !!!