当前位置: 代码迷 >> C语言 >> [求助]怎么写分if 语句
  详细解决方案

[求助]怎么写分if 语句

热度:381   发布时间:2007-08-01 15:20:57.0
[求助]怎么写分if 语句

本人正在写个采集器读表的程序,中间遇到问题.向各位高手求救

" 采集器在读表的过程中,判断是否有控制命令
如果有那么执行响应功能
如果没有则继续判断有无控制命令"
这个用c语言怎么写??????

搜索更多相关的解决方案: 语句  

----------------解决方案--------------------------------------------------------

可以把控制命令的函数放到结构体的指针中,然后判断这个指针是否为空就行:
如:
int aa()
{
.....
}
struct tt
{
int *fun();
}

struct aa,bb;
aa.fun=aa;
bb.fun=NULL;

if(aa.fun!=NULL)
aa.fun();


[此贴子已经被作者于2007-8-1 16:14:26编辑过]


----------------解决方案--------------------------------------------------------
谢谢版主
能懂一点
可不可以再说明确一点
----------------解决方案--------------------------------------------------------
while(表未结束)
{
if(有控制命令) 执行响应功能;
}

------------------------
如果控制命令判断函数为
int p(...)
{
}
那么可以让起返回数值0表示无控制命令,非0表示有控制命令
响应功能函数为
void x(...)
{
}
EOF表示表结束的判断

那么可以写为
while(!EOF)
{
if(p) x();
}
----------------解决方案--------------------------------------------------------
卧龙孔明 先生解释的透彻,
可惜我还是不懂
----------------解决方案--------------------------------------------------------
以下是引用jackys2006在2007-8-2 11:39:41的发言:
卧龙孔明 先生解释的透彻,
可惜我还是不懂

他是让你用返回值去判断,返回0,就是没有要执行的命令

举个例子
int aa(int i)
{
if(i)
return 0;
else
reutrn 1; //有操作命令
}

int tt()
{
printf("这是aa函数的操作命令");
}


int main
{
int i; //i=0 表示没有操作命令

if(aa(i)) tt();
}



我的方式比较难,但比较方便,有优化代码的一部分


----------------解决方案--------------------------------------------------------
  相关解决方案