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/