/Anonimizzato27865Utente anonimizzato10 feb 2020, 11:46Il programma mi stampa a=0 e b=3, come mai la b torna 3? int main(){ int a = -1; int b= 2; b+= a && a++; printf("%d %d\n", a, b); }
NippoloMolto attivoIscritto damar, 2018Messaggi122410 feb 2020, 12:44Gli argomenti in ballo sono: - precedenza tra gli operatori; - differenza tra incremento suffisso e prefisso; - cast implicito da int a bool e viceversa; - valutazione a corto circuito delle espressioni logiche. Conosci bene i suddetti argomenti? Riesci a capire come intervengono tutti in quella breve espressione?
OoregonSuper FamosoIscritto danov, 2011Messaggi2191710 feb 2020, 13:49laurentibus ha scritto: Il programma mi stampa a=0 e b=3, come mai la b torna 3? Hai provato ad esaminare tutte le parti dell'espressione e a darti una risposta da solo?
/Anonimizzato19171Utente anonimizzato10 feb 2020, 15:01Prova anche a confrontarla con l’istruzione a && ++a, con a = -1