漫游云巅 发表于 2012-12-31 17:25

UNIX环境编程里面例子7-4 跳转相关程序请教

本帖最后由 漫游云巅 于 2012-12-31 17:34 编辑

#include<stdio.h>
#include<stdlib.h>
#include<setjmp.h>

#define TOK_ADD 5

void do_line(char*);
void cmd_add(void);
int get_token(void);

int main()
{
    char line ;

    while(fgets(line,4096,stdin)!=NULL)
      do_line(line);//调用do_line函数
    exit(0);
}

char *tok_ptr; //这个指针到底有什么用?
void do_line(char *ptr)
{
    int cmd;
    tok_ptr=ptr;//就这用了一次
    while ((cmd=get_token())>0){//这个cmd=get_token()是什么,感觉永远>0啊,永远在这个循环中。
    switch (cmd){
      case TOK_ADD:
            cmd_add();
            break;
    }
    }
}

void cmd_add(void)//同样,这个函数干嘛用的?感觉没用啊
{
    int token;
    token=get_token();
    printf("token=%d",token);
}

int get_token(void)//这个空函数干什么的?返回什么给cmd
{
}
-----------------------------------------------------------------------------------------------------------------
运行结果就是不停的fgets输入东西,也不结束。

这整个程序是要说明什么?

cmd=get_token(),我单独程序试过,printf出cmd=1;但如果 while ((cmd=get_token())>0),则cmd第一次=1,后面就恒定cmd=5了。这个空函数到底什么意思?

希望高手能帮忙解答下,谢谢了。
页: [1]
查看完整版本: UNIX环境编程里面例子7-4 跳转相关程序请教