Io ho compilato esattamente questo codice:

codice:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    char *s[5];
    int i, j;
    
   for(i=0; i<5; i++) {

    s[i]= (char *) malloc( 5 * sizeof(char) );
    printf("inserisci una stringa: ");
    scanf("%s" , s[i]);
    
    }
    
    for(j=0; j<5; j++){
    
    printf("%s, " , s[j]);
    }
    
    
    return 0;
}
con gcc 4.2.3 su Slackware e con questa esecuzione:

codice:
bash-3.1$ ./prova
inserisci una stringa: cane
inserisci una stringa: casa
inserisci una stringa: cosa
inserisci una stringa: tre
inserisci una stringa: due
cane, casa, cosa, tre, due,
non ho alcun problema.

Ti ricordo di non immettere stringhe più lunghe di 4 caratteri... a meno che non allochi più spazio.