J'ai été surpris par ce code:
if (a =! b) { // let it be on false
...
}
Mais a
n'est jamais affecté par une valeur. Quel est cet opérateur?
J'ai été surpris par ce code:
if (a =! b) { // let it be on false
...
}
Mais a
n'est jamais affecté par une valeur. Quel est cet opérateur?
Il y a longtemps, quand les dinosaures parcouraient la terre et C a couru sur la 5e édition UNIX sur PDP-11, =!
était "pas égal à' opérateur. Cet usage a été rendu obsolète par la création de la Norme C, alors maintenant, il signifie 'attribuer la logique inverse", comme en a = !b
. C'est un bon argument pour toujours autour d'opérateurs binaires avec des espaces, juste pour faire comprendre à l' homme la lecture du code que le compilateur est de la pensée.
Je suis un peu surpris que personne d'autre ne parlé, mais là encore j'ai peut-être la seule de SORTE que l'utilisateur n'a jamais touché à un compilateur C que les anciennes.
a =! b
est juste une drôle de façon de mettre
a = !b
c'est à dire l'affectation d' not b
de a
.
La valeur de l'expression est - a
après la cession.
Avec le code ci-dessous, vous pouvez voir que la valeur de l'expression a = !b
est !false
(c - true
), et vous pouvez alors voir la cession a eu lieu en vérifiant la valeur de a
, ce qui est également true
.
#include <iostream>
int main()
{
bool a = false;
bool b = false;
if(a)
printf("a is true!\n");
else
printf("a is false!\n");
if(a = !b)
printf("expression is true!\n");
else
printf("expression is false!\n");
if(a)
printf("a is true!\n");
else
printf("a is false!\n");
}
Résultat:
a is false!
expression is true!
a is true!
En fonction de C/C++ liste des opérateurs il n'y a pas d'opérateur comme =!
. Cependant, il est un opérateur !=
(Pas égal, les opérateurs de Comparaison/opérateur relationnel)
=!
des opérateurs en if
déclaration et que quelqu'un essaie de type !=
au lieu de =!
car !=
est l'opérateur de comparaison qui renvoie true ou false.b
de a
et il/elle a fait une faute de frappe erreur et j'ai oublié de mettre un espace après le signe égal. C'est la façon dont le compilateur interprète, de toute façon.
En fonction de la priorité des opérateurs en c++:
!
) la priorité est 3 et l'Associativité est de Droite à gauche
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.