Data Structure Algorithm C

#include 
#include 
#include 
char names[22][25] =
{
  "J", "C", "I", "B", "P", "G", "D", "O", "B", "V", "C", "D", "L",
  "G", "A", "K", "K", "T", "R", "J", "D", "J" };
#define NUMBER_OF_NAMES sizeof ( names ) / sizeof ( names[0] )
int main() {
    int i;
    /* the unsorted letter */
    printf ( "The Unsorted Names.\n" );
    for ( i = 0; i < NUMBER_OF_NAMES; i++ ) 
        printf ( "%s\n", names[i] );
    printf ( "Press RETURN to continue: " );
    fflush ( stdout );
    getchar();
    qsort (( char * ) names, NUMBER_OF_NAMES, sizeof ( *names ), strcmp );
    assert ( names[0][0] < names[1][0] );  /* Quick check */
    /* the sorted names */
    printf ( "The Sorted letter.\n" );
    for ( i = 0; i < NUMBER_OF_NAMES; i++ ) 
        printf ( "%s\n", names[i] );
}