使用递归打印输出

安吉特
#include<stdio.h>
#include<conio.h>

void main()
{
    static int i=5;
    clrscr();

    if(--i)
    {
        printf("%d",i);
        main();
    }
    getch();
}

当我运行这段代码时,它没有给出任何输出,当我删除 getch() 时,当我切换到输出屏幕时,它会显示 ouput 。为什么?

我正在使用 Turbo C++。

知乎

如果您在每次迭代中中断,您就会看到调试器的输出,但由于您显然只是在执行您的程序,因此您看到的是最后一个clrscr();. 因为i是 0,所以你没有进入 if,打印发生的地方,你就在getch(). 希望这能回答你的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章