Chiarimento c++ vecchia discussione

di il
5 risposte

Chiarimento c++ vecchia discussione

#include<iostream>
using namespace std;




int main()

{


	int a = 0;
	
	int t = 1;

	do{
		
		while (!t == (t = t == 1 == 0))
		{
			
			cout << t << (t == (t = t == 1 == 0)) << t << (t == (t = t == 1 == 0)) << t << (t == (t = t == 1 == 0)) << t; // // perchè l'ultima t non cambia in 0  con  "!t" ma rimane 1 ?
		
			cin >> a;
			
		}

		cin >> a;
	
	} while (t == 1);

}
Grazie.

5 Risposte

  • Re: Chiarimento c++ vecchia discussione

  • Re: Chiarimento c++ vecchia discussione

    !t non cambia il valore di t
  • Re: Chiarimento c++ vecchia discussione

    Ma se lo metto sulla prima lo cambia in 0
  • Re: Chiarimento c++ vecchia discussione

    Traduci...
  • Re: Chiarimento c++ vecchia discussione

    Qui:

    cout << t << (t == (t = t == 1 == 0)) << t << (t == (t = t == 1 == 0)) << t << (t == (t = t == 1 == 0)) << !t;

    c'è un !t alla fine e loutput è : 1111111

    mentre

    qui:

    cout << !t << (t == (t = t == 1 == 0)) << t << (t == (t = t == 1 == 0)) << t << (t == (t = t == 1 == 0)) << t;

    c'è un !t all'inizio e l'otput è : 0111111

    quindi cambia valore.

    se io lascio così :

    cout << t << (t == (t = t == 1 == 0)) << t << (t == (t = t == 1 == 0)) << t << (t == (t = t == 1 == 0)) << t;

    senza nessun !t l'output è : 1111111

    quindi perchè lo cambia all'inizio e non alla fine? tutto qua
Devi accedere o registrarti per scrivere nel forum
5 risposte