比如有个链表,当我们在遍历使用一个结点时,首先要判断这个结点是否为空,不为空了我们才能处理他的下个结点(注意对于结点的处理并不统一),如果用if嵌套大致如下:
if(pNode != NULL)
{
process1(pNode);
pNode = pNode->next;
if(pNode != NULL)
{
process2(pNode);
pNode = pNode->next;
......
}
}
这样会将if嵌套的很长,不能再丑了。如果要在为NULL做出返回失败的处理,就还需要写else语句。
我想的一个解决方法是利用while和switch。如下:
int iFlag = 1; while(pNode != NULL) { switch(iFlag) { case 1: process1(pNode); break; case 2: process2(pNode); break; case 3: ... ca