Ho provato, ma il problema è che mi crasha ancora quando chiamo la calloc.
Stavolta mi sono fatto una funzione per l' input,ecco il codice:
codice:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <time.h>
#include <stdbool.h>
#include <string.h>


char *input(void);


int main(int argc,char **argv)
{
    char ***stringmatrix;
    int i,j;
    stringmatrix=(char***)calloc(5,sizeof(char**));
    if(stringmatrix==NULL)
    {
        printf("Errore, scappa !!!\n");
        exit(0);
    }
    for(j=0;j<5;j++)
    {
        stringmatrix[j]=(char**)malloc(sizeof(char*));
        for(i=0;i<5;i++)
        {
            stringmatrix[j][i]=input();
        }
    }
    for(j=0;j<5;j++)
        for(i=0;i<5;i++)
            puts(stringmatrix[j][i]);
    return 0;
}


char *input(void)
{
    char *buffer,*pointer;
    buffer=(char*)calloc(100,sizeof(char));                       /*************** qua ****************/
    if(buffer==NULL)
    {
        printf("Errore, scappa !!!\n");
        exit(0);
    }
    fgets(buffer,100,stdin);
    pointer=(char*)calloc(strlen(buffer)+1,sizeof(char));
    strcpy(pointer,buffer);
    free(buffer);
    return pointer;
}
Mi sto proprio dimenticando, da segmentation fault, sul GCC du linux nella riga contrassegnata mi segna:
codice:
Program received signal SIGABRT,aborted.
Eppure mi pareva di aver fatto tutto correttamente.