#include
void fa(int i)
{
if (i == 2)
return;
printf("fa(): %d\n", i);
} // 隐含return;
int fb(int i)
{
if (i > 4)
return 4;
printf("fb(): %d\n", i);
return 2;
}
int main(void)
{
fa(2);
fa(1);
int i = fb(5);
i = fb(i);
printf("main(): %d\n", i);
}
这个是怎么运行的啊,这个运行结果是怎么一步步出来的 555
程序从main函数开始,进去main函数后,先执行fa(2),进去fa函数,由于i==2,直接return返回。接着执行fa(1),此时i等于1不等于2所以执行printf语句。然后执行fb(5),由于5大于4,所以直接返回4。然后执行fb(i),其中i等于4,即执行fb(4)。然后在fb函数中执行printf语句,最后再执行main函数中的printf语句
不应该是 1 4 2?