- 论坛徽章:
- 0
|
本帖最后由 漫游云巅 于 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 [4096];
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了。这个空函数到底什么意思?
希望高手能帮忙解答下,谢谢了。
|
|