gpt4 book ai didi

c - 使用 main 函数递归打印数字

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

我正在使用循环打印以下模式:

1 12 123 1234 12345

为什么下面的代码在显示模式之前显示一些随机值?当我使用递归到某个随机函数 func(int a, int b) 并将值 (1, 1) 从 main 传递到该函数时,效果很好。

int a=1,b=1;
int main(int a, int b)
{
if(a>5)
return 0;

else if(b<a)
{
printf("%d",b);
main(a,++b);
}

else if(b==a)
{
printf("%d ",b);
main(++a,1);
}
}

最佳答案

根据 C 标准1main() 函数的以下签名是有效的:

int main(void)

int main(int argc, char* argv[])

当您将命令行参数传递给 main() 函数时(总是至少有一个:程序的名称始终是 argv[ 的第一个元素) ],即 argv[0]),您会得到奇怪的结果,因为参数被转换为整数值。

因此,您应该使用自己的函数来执行递归任务,例如您提到的int func(int a, int b)

1 注意:我的答案有点过于简单化。更详细、正确的描述请引用this answer .

关于c - 使用 main 函数递归打印数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32585938/

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