Que fait un if(variable) ?

Que fait un if(variable) ? - C++ - Programmation

Marsh Posté le 10-11-2006 à 14:20:40    

Une question toute simple!
Que fait un  

Code :
  1. if(variable) ...


 
Ca teste si variable a reçu une valeur?
Si j'ai  

Code :
  1. int *variable = NULL
  2. if(variable) ...


 
Apparement je rentre dans ma boucle...  :??:

Message cité 1 fois
Message édité par toutoune le 11-11-2006 à 14:19:52
Reply

Marsh Posté le 10-11-2006 à 14:20:40   

Reply

Marsh Posté le 10-11-2006 à 14:29:30    

Quelle boucle ? [:petrus dei]

Reply

Marsh Posté le 10-11-2006 à 14:30:25    

Pardon, dans ma condition

Reply

Marsh Posté le 10-11-2006 à 14:33:18    

c'est quoi ce NULL ?

Reply

Marsh Posté le 10-11-2006 à 14:39:29    

Bon, oublions mon deuxième bout de code...
Que teste un

Code :
  1. if(variable)


Quand est-ce que je répond à la condition, quand est-ce que je n'y réponds pas?

Reply

Marsh Posté le 10-11-2006 à 14:46:00    

quand l'expression évaluée entre parenthèses dans le if est égale à 0, elle est fausse. Si elle est différente de 0, elle est vraie.


---------------
Töp of the plöp
Reply

Marsh Posté le 11-11-2006 à 12:58:24    

Si je ne me trompe pas, quand on ne met rien c'est comme si on avait mis "!=0" que se soit pour les conditions ou les boucles ?!


Message édité par casafa le 11-11-2006 à 12:58:54
Reply

Marsh Posté le 11-11-2006 à 13:05:44    

if(!variable) <=> if(variable == 0)
if(variable) <=> if(variable != 0)

Reply

Marsh Posté le 13-11-2006 à 12:15:52    

toutoune a écrit :


Ca teste si variable a reçu une valeur?
Si j'ai  

Code :
  1. int *variable = NULL
  2. if(variable) ...


 
Apparement je rentre dans ma boucle...  :??:

:heink:  
moi si mon pointeur est à NULL il ne rentre pas dedans (mingw)
en gros le if test pour voir si la condition est fausse, et tout ce que n'est pas faux est vrai... par exemple si tu fais :
if(var=2)
ou
if(var=10)
pour lui c'est vrai puisque var=0


---------------
--- WinSplit Revolution ---
Reply

Marsh Posté le 13-11-2006 à 14:29:31    

Tout depend de la définition de NULL.
En C le if teste si la valeur est 0 ou n'est pas 0, il n'est pas question de VRAI/FAUX.
Attention : if (var = 2)  réussira toujours car tu affectes 2 à var et le resultat de l'affectation est 2 qui est différent de 0. Tu voulais sans doute écrire if (var == 2).

Reply

Marsh Posté le 13-11-2006 à 14:29:31   

Reply

Marsh Posté le 14-11-2006 à 08:28:56    

non non je voulais bien ecrire une opération d'affectation, ce que je voulais dire c'est la meme chose pour vrai faux et zero pas zero. Tout ce qui n'est pas zero est considéré comme une condition vraie


---------------
--- WinSplit Revolution ---
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed