À l'aide de points d'Exclamation '!' dans C
J'ai rencontré un problème de points d'exclamation et les nombres entiers lors de la lecture d'un code dans mon livre de référence.
Disons que j'ai déclaré une variable de type entier nommé numéro int number = 0;
J'utilise ensuite un certain temps une fonction impliquant un point d'exclamation et number
while(!number)
{
...
}
Je suis confus avec ce parce que je ne sais pas quoi !number
signifient et ce qu'il serait possible que les résultats retournés? Je ne suis pas sûr si cela peut être utilisé, mais comme je l'ai dit, je l'ai vu dans mon livre.
Par conséquent, il serait génial si quelqu'un pouvait me dire ce n' !number
dire et que faut-il évaluer?
Vous en remercie d'avance.
number
est zéro, true sinon.) Comme tout C la référence devrait vous ai dit...Mais j'ai pensé '!' ne peut être utilisé pour quelque chose comme: while(nombre != 8)
while(!Number)
est équivalent à dire while(Number == 0)
J'ai essayé des tutoriels en ligne, avec un livre de référence à mes côtés juste au cas où. Je suppose que, comme avec tout le reste sur internet, il y a quelques faux de l'info sur la programmation en C
La grande majorité de la programmation "tutoriels" j'ai vu en ligne à ce jour ont été écrits par des gens qui vient d'avoir appris ce genre de choses eux-mêmes, parce que les développeurs expérimentés n'ont souvent pas s'asseoir et d'écrire des trucs pour les débutants, à moins qu'ils essaient de faire de l'argent, par exemple en vendant un livre (ou de l'agriculture réputation sur StackOverflow 😉 ). Pour chaque langue il y a des "standards", les publications recommandé de lecture sur le sujet. Pour le C, qui serait Kerninghan & Ritchie, "The C Programming Language".
OriginalL'auteur Paul Filch | 2014-04-04
Vous devez vous connecter pour publier un commentaire.
nous pouvons traiter
!
de ne pas.Donc si un nombre est non nul(soit +ou -Ve), elle renvoie Zéro.
Si elle est égale à zéro, il renvoie 1.
OriginalL'auteur gangadhars
En C, !numéro évaluer à 1 si nombre == 0 et à 0 si le nombre != 0. Et en C, 1 est vraie et 0 est faux.
À l'aide d'une comparaison explicite comme nombre == 0 ont le même effet, mais vous trouverez peut-être plus facile à lire.
"Facile à lire", je ne suis pas d'accord. Seulement quand vous savez presque rien au sujet de C.
Je suppose que "facile à lire" est en effet subjectif, donc je vais changer ma phrase
OriginalL'auteur TheWalkingCube
C'est une négation, ou "pas" de l'opérateur. Dans la pratique !nombre moyens de "true si nombre == 0, false dans le cas contraire." Google "opérateurs unaires" pour en savoir plus.
oui (!nombre) renvoie la valeur vrai si le nombre égal à 0, c'est reprendre la même règle que ci-dessus.
OriginalL'auteur RobP
Il est utilisé pour la Négation d'un nombre.C'est un Opérateur Unaire.
Par Exemple:-
Si nous l'utilisons avec zéro :- !0 alors il va devenir 1
avec un !1 = 0
OriginalL'auteur Umesh
La opérateur de négation (!) tout simplement l'inverse le sens de son opérande.
L'opérande ou l'expression doit être de l'arithmétique ou de type pointeur. Mais l'opérande/le résultat de l'expression est implicitement converti en type de données booléen (boolean 0 signifie faux, Non nul, la valeur est True).
Le résultat est true si la conversion d'un opérande est faux; le résultat est faux si la conversion d'un opérande est vrai. Le résultat est de type bool.
donc
depuis nombre variable de 0 , tandis que!nombre) c'est à dire, !0 qui est "la négation de 0", ce qui est "VRAI", alors c'est le code entre dans la boucle while()
OriginalL'auteur Sorcrer