Problema con if

G.G211
Scusate l'ignoranza ma ho un problema con il comando if nel linguaggio C. A quanto ho capito di fianco ad "if" ci vuole una condizione, ad esempio "if (c>0)" dove c è una variabile, mentre io mi trovo davanti ad una scrittura del genere: "if (c)". Che significato ha questo tipo di scrittura? grazie mille.

Risposte
Kashaman
da quello che ne so io, l'if con una condizione è della forma.
if (condition) then instruction
Sinceramente, non so cosa possa significare il tuo if.
ove l'hai trovato? in quale codice?

G.G211
dovrei programmare un gioco in 2d che si chiama othello, ma visto che non ho la più pallida idea di come si faccia per ora stavo cercando di leggere quello di un mio amico e all'interno del codice ho trovato degli if di questo tipo

Rggb1
No, in C è della forma
if (condition) cond-true-instruction; [else cond-false-instruction;]

La condition vale true se diversa da zero.

claudio862
È equivalente a

if (c != 0) {
    ...
}

e si può usare in tutte le istruzioni condizionali (if, while, for, ?:).

In C non esiste un tipo booleano, normalmente si simula usando un intero. 0 è equivalente a falso, tutti gli altri valori sono equivalenti a vero (e non zero, come scritto prima). Ad esempio puoi usare una variabile per decidere se continuare ad iterare in un ciclo oppure uscire:

int keepIterating = 1;

while (keepIterating) {
    ...
    if (something) {
        keepIterating = 0;
    }
}

G.G211
ok ora ho capito! vi ringrazio!

hamming_burst
tiny correction:
"claudio86":

0 è equivalente a falso, tutti gli altri valori sono equivalenti a zero (... a vero, ndh)

so che è un errore di battitura o qualcosa di simile.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.