PDA

Visualizza la versione completa : [c]Dubbio su BOOL


gennahouse
25-09-2010, 04:05
Ciao a tutti, non riesco a capire una cosa, che dirrenza c' tra i due codici?

BOOL uno ( INT primo, INT secondo)
{
if (primo == secondo) {
return (NO);
}else{
return (YES);
}

}


oppure


INT uno ( INT primo, INT secondo)
{
if (primo == secondo) {
return (NO);
}else{
return (YES);
}

}



Se la stessa cosa BOOL non serve...

C' differenza tra i due?

simo_85
25-09-2010, 04:37
Originariamente inviato da gennahouse
Ciao a tutti, non riesco a capire una cosa, che dirrenza c' tra i due codici?
Se la stessa cosa BOOL non serve...
C' differenza tra i due?
Dipende da come hai definito BOOL.. Se typedef int BOOL no...
PS: int no [INT] o sbaglio.. (?)
:ciauz:

gennahouse
25-09-2010, 08:59
Si int e non INT, per non ho capito bene quello che hai detto...

Allora BOOL serve per vedere se un risultato vero rispetto ad un altro.

E lui ristituisce 0 in caso negativo o 1 in caso positivo.

Per il discorso che faccio , lo si potrebbe fare come nel mio esempio senza usare BOOL...

Perche invece si fa con BOOL? non riesco a capire questa cosa qui.

simo_85
25-09-2010, 10:21
Originariamente inviato da gennahouse
Per il discorso che faccio , lo si potrebbe fare come nel mio esempio senza usare BOOL...
Se una domanda, si, comunque


if (primo == secondo)
return YES
else
return NO;

Sarebbe pi logico, YES definita come costante = 1 & NO = 0.
Cmq in C non esiste questo datatype.

gennahouse
25-09-2010, 10:26
Si per objective c, pensavo che anche in c era cosi...
Ti ho mandato un PM se hai voglia contralla

grazie mille per la risposta.

Alex'87
25-09-2010, 10:51
Originariamente inviato da simo_85
Dipende da come hai definito BOOL.. Se typedef int BOOL no...In realt BOOL non definito come intero:


// objc.h

typedef signed char BOOL;
// BOOL is explicitly signed so @encode(BOOL) == "c" rather than "C"
// even if -funsigned-char is used.
#define OBJC_BOOL_DEFINED


#define YES (BOOL)1
#define NO (BOOL)0

simo_85
25-09-2010, 11:03
Originariamente inviato da Alex'87
In realt BOOL non definito come intero:
Non conosco Objective C ne sono in possesso del file objc.h :fagiano:

gennahouse
25-09-2010, 11:04
Ma BOOL di suo non restituisce yes o no senza definirlo come costante in objc? cieo l'output solo 0 o 1?

Alex'87
25-09-2010, 11:17
Originariamente inviato da simo_85
Non conosco Objective C ne sono in possesso del file objc.h :fagiano: Non era un attacco a te, era solo per chiarire un attimo ;)


Originariamente inviato da gennahouse
Ma BOOL di suo non restituisce yes o no senza definirlo come costante in objc? cieo l'output solo 0 o 1?
objc.h uno di quei file che "compongono" il linguaggio, viene "importato" in automatico (altrimenti scrivendo BOOL var) otterresti errore.

gennahouse
25-09-2010, 11:21
Quindi prima di usare BOOT si deve richiamare sempre una funzione oppure si puo fare semplicemente cosi?

BOOT (int a == int c);

Loading