2010 – 4

Si consideri il seguente frammento di programma:

main() 
{
   int a=4, b=5, c=6, d=7, e=8, n, m;
   n=a%b*c%d/e;
   m=(a%b)*(c%d)/e;
   printf("n=%d m=%d\n", n, m);
}

Quale tra le seguenti righe di testo viene visualizzata a video dall’esecuzione di main()?

  1. n=3 m=3
  2. n=0 m=3
  3. n=0 m=0
  4. n=3 m=0

Soluzione: b (n=0 m=3)


Osserva

  • n = 4%5*6%7/8 = 4*6%7/8 = 24%7/8 = 3/8 = 0
  • m = (4%5)*(6%7)/8 = 4*6/8 = 24/8 = 3