开发者社区> 问答> 正文

static静态变量问题

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

展开
收起
a123456678 2016-03-05 09:52:31 2168 0
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
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载