gpt4 book ai didi

c - 为什么输出包含 4 个 0?

转载 作者:行者123 更新时间:2023-11-30 20:29:27 25 4
gpt4 key购买 nike

为什么输出包含 4 个 0。main 不断调用,直到 if 条件变为 false,然后应该从 if block 退出。

#include <stdio.h>
int main()
{
static int i=5;
if(--i)
{
main();
printf("%d ",i);
}
}

最佳答案

请注意以下事项。

  1. int i 是静态的。

  2. 您正在递归调用 main

  3. if 条件中,预减 i

每次调用 main 时,i 的值都会与前一次调用相同。所以i每次都会递减。由于这是 --i ,第一次会是 4,然后变为 0。

最里面的main函数返回(i==0)后,前面的main函数的printf会被执行。

但是i是静态的并且值为0。因此,您会为每个主要函数打印 4 个零。

关于c - 为什么输出包含 4 个 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57969526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com