ciao a tutti,
sono nuovo del forum,novizio della programmazione e del linguaggio C con il quale ho iniziato.
Da qualche mese ho iniziato a leggere un libro che spiega il linguaggio C a partire da un livello completamente zero come il mio,sono solo all'inizio ma ho già molte domande che mi frullano in testa e vorrei cominciare a darmi qualche risposta.
Un esercizio di programmazione di questo libro mi chiede di modificare un programma di qualche capitolo indietro nel quale inserendo N si visualizzano i quadrati da 1 ad N e fare in modo che si fermi a 24 e chieda di premere Invio.
Dopo qualche mezz'ora di prove e senza riuscirci ho guardato la soluzione e su questa vorrei delle lucidazioni: (non ho trovato il tasto code per postare il sorgente !?)
........
printf("This program prints a table of squares.\n");
printf("Enter number of entries in table: ");
scanf("%d", &n);
ch = getchar();
for (i = 1; i <= n; i++) {
printf("%10d%10d\n", i, i * i);
if (i % 24 == 0) {
printf("Press Enter to continue...");
ch = getchar();
.........
1- perchè getchar() deve essere messo prima del ciclo?cosa non lo fà funzionare mettendolo soltanto dopo?
2- perchè scrivere if (i % 24 == 0) e non if (i == 24)?
3- io avevo usato while (ch != '\n').... per fermare a 24!;è il secondo getchar che lo fà fermare o cosa?
Grazie tante a chi mi potrà aiutare.