开发者社区 问答 正文

static静态变量问题

int main(void)
{
static int i=5;
if(--i)
{
main();
cout<}
}
为什么输出结果是0000?
菜鸟求详解啊!么么哒

展开
收起
a123456678 2016-03-05 09:52:31 2241 分享 版权
1 条回答
写回答
取消 提交回答
  • 4,3,2,1,0一共5个数,因为0的时候不进if了所以递归终止了,然后返回到上一次递归也就是i=1的时候,但是这时候实际上i的值是0了所以打印0并且换行,以此类推,
    i=2的递归,打印 0 换行
    i=3的递归,打印 0 换行
    i=4的递归,打印 0 换行
    所以是4次0

    2019-07-17 18:52:58
    赞同 展开评论
问答地址: