#include <stdio.h>
#include <string.h>

int main() {
    char buf[ 256 ];

    strcpy( buf, "./a.out foo bar foobar barfoo\n" ); // simulate fgets()

    int ac = 0;
    char *av[ 32 ]; // Or make it dynamic (a minor challenge)
    
    av[ac] = strtok(buf, " \n" );
    while( av[ac])
    {
    	++ac;
    	av[ac] = strtok(NULL, " \n" );
    }
    
    for( int i = 0; i < ac; i++ )
        printf( "%d: %s\n", i, av[i] );
    printf( "And on the end of the array: %p\n", (void*)av[ac] );

    return 0;
}