Bonjour
Que doit-je mettre pour mon if ?
if((RH==heure)&(minute==0));
ou
if((RH==heure)&&(minute==0));
:~
merci d'avance
Bonjour
Que doit-je mettre pour mon if ?
if((RH==heure)&(minute==0));
ou
if((RH==heure)&&(minute==0));
:~
merci d'avance
& = opération bit à bit sur des entiers,
&& = opération sur des booléens
dans ton cas ce sont des booléen donc c'est &&
D'après ma compréhension, techniquement les deux fonctionnent
& est l'opérateur qui va réaliser un ET binaire sur tous les bits des deux opérandes. Le résultat est ensuite comparé à la valeur 0 pour évaluer la condition IF.
&& est un opérateur logique. La principale différence avec le précédent est que, pour évaluer (Condition1 && Condition2), si Condition1 est à zéro alors Condition2 n'est pas évaluée et le résultat du && est tout de suite retourné à zéro.
Alors que le & évalue systématiquement les deux conditions, et calcule le ET binaire résultant.
Dans ton cas cela ne fait pas une grosse différence.
Il est toutefois plus propre d'utiliser &&
Parfois condition2 est le résultat de l'appel à une fonction qui peut être coûteuse à l'exécution.
Là l'opérateur && prend tout son sens.
De même, il est préférable de mettre en condition1 le critère le plus filtrant, de manière à économiser un maximum d'évaluations de condition2.
Et même principe entre | et || pour le OU
Et surtout pas le même principe entre = et ==
Je suis un :
J'ai mis un point virgule à la fin ! Et c'est pour cela que cela ne marchait pas !!
Merci quand même, à vous deux, pour les renseignements sur le ET.
A+