首先,goto当然最好不用,但在跳出深度循环方面还是可以简化问题的,只要没有因此跳过变量初始化之类的,应该没问题。 批判goto,可以先存异。
截程序中一小段代码:
I2C_INIT:
pI2C_InitVal();
I2C_START:
switch(bI2C_Status)
{
编译结果:
I2C_SLAVE.C(64):WARNING C280: 'I2C_START': unreferenced label
I2C_SLAVE.C(137):ERROR C233: 'I2C_START': undefined label
一个提示的是标签未被引用,一个提示的是标签未定义,是不是相互矛盾了??
而且,同样的标签I2C_INIT怎么不存在这个问题? |