注册 登录
编程论坛 新人交流区

[求助]:关于retrun的问题请大家来看看

elviswzd 发布于 2007-10-25 16:49, 465 次点击

大家帮忙看看我下面的程序中的RETRUN会返回到什么地方,是IF语句后面的那个RETRUN?

static void SWPIDEntry(void)
{
if(state&1)
{
if(state&2)
return;
else
CFIQueryExit();
}

CMD_ADDR0 = 0xaaaa;
CMD_ADDR1 = 0x5555;
CMD_ADDR0 = 0x9090;
state |= 3;
}

U32 GetFlashID(void)
{
U32 i;

SWPIDEntry(); //
i = *(U16 *)(0+ROM_BASE);
i |= (*(U16 *)(2+ROM_BASE))<<16;
SWPIDExit();
return i;
}

9 回复
#2
yms1232007-10-25 20:04
应该是返回到调用该函数的位置,继续执行。
#3
吴朝阳2007-10-25 22:30
新手,看不懂!
#4
elviswzd2007-10-26 08:15

谢谢yms123,我也觉得应该这样

#5
jiaohaota2007-10-26 09:21
以下是引用yms123在2007-10-25 20:04:38的发言:
应该是返回到调用该函数的位置,继续执行。

我觉得也是

#6
superplayer02007-10-26 09:33
kanbudong
#7
归一LINUX2007-10-26 21:51
同意yms123!
#8
xwl2007-10-26 22:55

这介return在不地方有不同的含义,你的第一个应该是反回到调用处,第二个return带了一个参数,应该把i的反回给这个函数吧!
单讲一个return,书上就是说在程序中遇到return,程序会立即返回到调用该函数的下一句执行。

#9
alicefioan372007-10-26 23:50
看不懂!
#10
StarScar2007-10-27 00:10
if(state&1)
{
if(state&2)
break;
else
CFIQueryExit();
}
.......
1