2009 – 4

Si consideri il seguente frammento di programma:

main()
{
   int a=3;
   int b=2;
   int c;
   c=a*b/4*(a/b)*4+a*(b/4*a)/(b*4);
   printf("c=%d\n", c);
}

Cosa viene visualizzato a video dall’esecuzione di main()?


Soluzione: 4


Osserva

c = a*b/4*(a/b)*4+a*(b/4*a)/(b*4) = 3*2/4*(3/2)*4+3*(2/4*3)/(2*4) = 6/4*(1)*4+3*(0*3)/8 = 1*1*4+3*0/8 = 4