Mercurial > hg > CbC > old > examples
view dumparg-struct.c @ 0:e59ebf6fe2b0
Initial revision
author | kinjo |
---|---|
date | Sat, 26 Nov 2005 11:36:16 +0900 |
parents | |
children |
line wrap: on
line source
extern int printf(char*,...); struct opt { char* p; int i; int argc; char** argv; } option; #if 0 code opt1(struct opt o, code (*exit0)(int), void* env) { printf("opt1: %x\n", (unsigned long)o.p); if(*(o.p)=='\0'){ printf("\n"); goto opt0(o, exit0, env); } else{ printf("%c", *(o.p)); o.p++; goto opt1(o, exit0, env); } } #endif code opt0(struct opt o, code (*exit0)(int), void* env) { printf("opt0\n"); if(o.i<o.argc){ // o.p=o.argv[o.i]; // printf("%s %d\n", *(o.argv), o.i); printf("%x\n", (unsigned long)(o.argv[o.i])); o.i++; goto opt0(o,exit0,env); // goto opt1(o, exit0, env); } goto exit0(0), env; } int main() { int i; char* arg[3]={ "program", "--file", "ahoaho", }; option.i=0; option.argc=3; option.argv=arg; #if 1 for(i=0; i<3; i++){ printf("%x\n", (unsigned long)option.argv[i]); } #endif goto opt0(option, return, environment); return 0; }