Ecco il tuo codice indentato correttamente e con le correzioni in grassetto (ho anche eliminato alcune parentesi superflue)
codice:
#include <stdio.h> //libreria per le funzionealità basilari di input/output
#define rmax 23
#define cmax 5
int main()
{
int r,c;
int i,j;
int m[rmax][cmax]; // L'array deve essere dimensionato con le costanti
char n[rmax][25]; // L'array deve essere dimensionato con le costanti
for( ; ; ) //ciclo infinito
{
printf("Crea la tabella rispondendo alle richieste\n");
do
{
printf("Inserisci il numero degli alunni\n");
scanf("%d", &r);
if (r < 1 || r > rmax)
printf("Valore non consentito\n");
} while (r < 1 || r > rmax); //ripete l'operazione fino a che questa condizione non risulta vera
do
{
printf("Inserisci il numero dei compiti in classe\n");
scanf("%d", &c);
if (c < 1 || c > cmax)
printf("Valore non consentito\n");
} while (c < 1 || c > cmax); //ripete l'operazione fino a che questa condizione non risulta vera
for (i = 0; i<r; i++) // L'array e' in base 0
{
printf("Nome alunno %d\n", i+1); // L'array e' in base 0
scanf("%s", n[i]);
for (j=0; j<c; j++) // L'array e' in base 0
{
printf("Voto compito %d\n", j+1); // L'array e' in base 0
scanf("%d", &m[i][j]); // Devi indicare l'indirizzo dell'elemento dell'array
}
}
printf("Tabella creata con successo");
for (i=0; i<r; i++) // L'array e' in base 0
{
printf("\n", i+1, " "); // L'array e' in base 0
printf("%s", n[i]);
for (j=0; j<c; j++) // L'array e' in base 0
{
printf(" ", j+1, " "); // L'array e' in base 0
printf("%d", m[i][j]);
}
}
printf("\n");
}
}