Negare un numero equivale ad azzerarlo

di Anonimizzato8544 il
3 risposte
Salve raga mentre stavo cercando di scoprire qualche comportamento 1 pò più curioso di c ho scoperto una cosa ogni variabile se negata vale sempre 0 qualcuno sa dirmi come mai??

esempio
se faccio

 int a=34567;



a=!a;


printf("%d",a);  // a vale 0 
questo è vero sempre per qualsiasi numero sapete dirmi perché?

3 Risposte

  • Perché 0 equivale a false e qualsiasi valore diverso da zero equivale a true.

    Quindi se neghi qualsiasi valore (true) ottieni 0 (false)
  • Sei un genio! non l'avevo proprio pensato!
  • broke31 ha scritto:


    sei un genio! non l'avevo proprio pensato!
Devi accedere o registrarti per scrivere nel forum
3 risposte