猿问

如下,我的理解哪里有问题呢?请指点!谢谢!

int judge_city(int num)
{
int i;
for (i=0;i<3;i++){
if(num > 10) return(0);
}
return(1);
}
请问这段code,如果提供的num是12,大于10了,按说那函数返回的是0,但我总觉得最后return(1)由于没有放入else中,就表示这是函数会执行的一句,那最后无论num是多少,这个函数都会返回1的?

慕勒3428872
浏览 117回答 3
3回答

料青山看我应如是

首先,每个函数是有自己的入口和出口的,这个函数也一样,但是由于用了两个Return,就相当于设置了两个出口。当12 > 10时就从Return 0出去,否则从Return1 出去。

沧海一幻觉

不是这样的。执行return(0)后,程序就跳出这个函数了,因而不会执行到return(1)这个地方。

拉丁的传说

如果for中的if 执行了return语句,那这个函数就结束了,就算for还没循环完也结束了,那就不会执行到后面的return 1; 了
随时随地看视频慕课网APP
我要回答