2009 – 8

Si consideri il seguente frammento di programma:

#define N 15

main() 
{
   int i, j;
   char frase[];
   char t;
   i=1;
   do 
   {
      for(j=0; j < N; j++) 
      {
         t=frase[j];
         frase[j]=frase[(j+i)%N];
         frase[(j+i)%N]=t;
      }
      i += 1;
   }
   while(frase[8] != ' ');
   printf("%s\n", frase);
}

Quale tra le seguenti stringhe di 15 caratteri utilizzate per inizializzare il vettore frase (immediatamente prima dell’istruzione i:=1;) fa sì che al termine dell’esecuzione del programma venga visualizzata a video la stringa Risposta esatta?

Risposte:

  1. Soltanto "itRtasposta esa"
  2. Soltanto "ieRsasttaposta "
  3. Sia "itRtasposta esa" sia "ieRsasttaposta "
  4. "itRtasposta esa""ieRsasttaposta "

Soluzione: c (sia "itRtasposta esa" sia "ieRsasttaposta ")


Osserva quale frase iniziale porta alla soluzione dopo quanti passi

  • dopo un passo: "Raisposta esatt"
  • dopo 2 passi: "itRtasposta esa"
  • dopo 3 passi: "ieRsasttaposta "