Frammento di codice

Nidhogg
Veramente come hai scritto tu stampa 1. Infatti nell'if non c'è "i==1" che in C rappresenta l'uguale, ma c'è "i=1" che rappresenta l'assegnazione.

Risposte
Nidhogg
Si, se c'è "i==1" viene visualizzato 0.

eafkuor1
if(i=1)

equivale a

se(riesci a mettere il valore 1 nella variabile i)

-----------------------
Il bello di essere intelligente e' che puoi divertirti a fare l' imbecille, ma se sei un imbecille non puoi fare il contrario.
Woody Allen

tony19
sì, eafkour, ma se Pivot è veramete alle prime armi forse converrebbe dargli anche i minimi dettagli
allo scopo integrerei il tuo
quote:
if(i=1)
equivale a
se(riesci a mettere il valore 1 nella variabile i) [eafkuor]

così:

if (i=x)
equivale a:
1- valutare se l'espressione tra parentesi è zero o diversa
1.1- per far questo (l'espressione "i=x" è un'assegnazione) viene eseguita l'assegnazione (e, come sottoprodotto, il valore di i cambia)
1.2 - il risultato di questa operazione coincide col valore assegnato x (e quindi è come se la if fosse scritta "if(x)" )
2 - se esso e zero, allora la if lo considera "falso" ed esegue il ramo "else"; altrimenti vero.

consiglierei a Pivot di giocare col problema invertendo zeri e uni e comunque aggiungendo in coda una
printf("\n il vero i= %d",i);
per dimostrare l'avvenuta assegnazione.

tony

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