Durante la mia terza prova di maturità, il professore esterno venuto nella mia scuola, ci ha dato questo quesito:
Cosa compare a video dopo l'esecuzione di questo programma:
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int a=1,x,z;
cout << (z=0 && x!=4 && a++) << endl;
cout << (a<2 && x!=(4 && z >-1 )) << endl;
getchar();
}
Dopo averlo tirato in mezzo per tre ore, mi ha confermato che compariva:
01
In realtà compare:
0
1
Dopo vari tentativi non sono ancora riuscito a capire cosa faccia comparire "1".
Confido nel vostro sapere per una risposta.
Grazie