哪位高手帮忙解决一个编程问题
时间:10-02
整理:3721RD
点击:
小弟用的编译环境是IAR EW for 8051
void putmenu(char *menu)
{
gputs(menu);
if(menu==nivel_1[0].nombre[1])
{
……
}
else if(menu==nivel_1[1].nombre[1])
{
……
}
else if(menu==nivel_1[2].nombre[1])
{
……
}
。
。
。
else ;
}
问题是这样的,这个函数else if 语句如果不是太多,能够正常工作。但由于我要判别的比较多,要达到目的,写的程序有很多else if大概有40条之多),问题就出在else if 不能太多,也就是不能进行过多的次的判别。请问一下各位大虾,到底是什么原因呀,有什么方法解决此问题呢?小弟感激不尽!
void putmenu(char *menu)
{
gputs(menu);
if(menu==nivel_1[0].nombre[1])
{
……
}
else if(menu==nivel_1[1].nombre[1])
{
……
}
else if(menu==nivel_1[2].nombre[1])
{
……
}
。
。
。
else ;
}
问题是这样的,这个函数else if 语句如果不是太多,能够正常工作。但由于我要判别的比较多,要达到目的,写的程序有很多else if大概有40条之多),问题就出在else if 不能太多,也就是不能进行过多的次的判别。请问一下各位大虾,到底是什么原因呀,有什么方法解决此问题呢?小弟感激不尽!
有case语句啊
