Oppure

Loading
15/11/12 16:09
cicciomaz
Scusate qualcuno mi sa dire cosa significa l'istruzione if(!X)

Grazie, Ciao.
aaa
15/11/12 16:13
Thejuster

se X è false :pat:
mire.forumfree.it/ - Mire Engine
C# UI Designer
15/11/12 16:16
cicciomaz
quindi se è uguale a zero???
aaa
15/11/12 16:28
dmr
In C le condizioni devono avere un valore numerico(valore!=0 che sarebbe true o 0 che sarebbe false). ad esempio:
int a=0;
if(!a)
{
  printf("ok");
}

a vale zero ma l'operatore ! fa la negazione e il valore dentro la condizione dell'if è 1 quindi true, così vengono eseguite le istruzioni dentro il suo corpo.
Ultima modifica effettuata da dmr 15/11/12 16:31
aaa
15/11/12 16:28
Saik
si tecnicamente si... ma si preferisce utilizzare queste espressione con le variabili di tipo bool mentre con variabili numeriche si utilizza l'espressione:
if(x == 0)
{
   ...
}
aaa
15/11/12 16:32
dmr
In C se non sbaglio non c'è il tipo bool.
aaa
15/11/12 16:46
cicciomaz
Ok credo di aver capito.

se ho:

int a = 0;

if(!a) è come dire if ( a == 0) e quindi la condizione è vera!


altrimenti se ho:

int a = 1;

if(!a) è come dire if ( a == 0) e quindi la condizione è falsa!


Ultima modifica effettuata da cicciomaz 15/11/12 16:47
aaa
15/11/12 17:01
pierotofy
In generale:

0 = false
Diverso da 0 = true

if (a) ==> if (a != 0)
if (!a) ==> if (a == 0)

Il C non ha il tipo bool esplicitamente definito, ma lo puoi definire per un stile di programmazione migliore:

#ifndef __cplusplus
typedef int bool;

#define false 0
#define true 1
#endif
Il mio blog: piero.dev