John W. Krahn wrote:

$ cat ternary-test.c
#include <stdio.h>
#include <stdlib.h>

char *shift ( int *argc, char **argv ) {
    int i;
    char *temp = argv[ 0 ];
    for ( i = 1; i < *argc; ++i ) {
        argv[ i - 1 ] = argv[ i ];
        }

Opps, also need to adjust argc here:

      --*argc;

    return temp;
    }

char *pop ( int *argc, char **argv ) {
    return argv[ --*argc ];
    }

char *my_shift ( int *argc, char **argv ) {
    fprintf( stderr, "In my_shift function\n" );
    return shift( argc, argv );
    }

char *my_pop ( int *argc, char **argv ) {
    fprintf( stderr, "In my_pop function\n" );
    return pop( argc, argv );
    }

int main ( int argc, char **argv ) {
    /* remove program name from argv */
    char *prog_name = shift( &argc, argv );
    char *flag = argv[ 0 ];
char *x = flag[ 0 ] == '0' ? my_pop( &argc, argv ) : my_shift( &argc, argv );
    printf( "x = \"%s\"\n", x );
    return EXIT_SUCCESS;
    }


John
--
Those people who think they know everything are a great
annoyance to those of us who do.        -- Isaac Asimov

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to