为什么第二printf
会四次打印5个值而不是else块?
int i=1;
int main()
{
if (i<5)
{
i++;
printf("%d\n",i);
main();
printf("\n\n%d\n",i);
}
else
return 0;
}
答案 0 :(得分:1)
else块正在执行。您会理解,如果在这样的else块中添加printf语句。
int i=1;
int main()
{
if (i<5)
{
i++;
printf("%d\n",i);
main();
printf("\n\n%d\n",i);
}
else
{
printf("From Else Bloack, value of i is ",i);
}
return 0;
}
else块在前一个if块的条件为false时执行。
答案 1 :(得分:0)
由于else
与if
一起使用:if
用i <5完成后,else
将再也不会被调用,即使{{1 }}在i ++指令上达到5。