【发布时间】:2015-09-15 21:39:36
【问题描述】:
我正在使用循环打印以下模式:
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);
}
}
【问题讨论】:
-
int main(int a, int b)不是main的有效签名之一。操作系统调用main,参数数量和参数字符串列表符合预期,你会得到抓取结果。递归调用main非常令人讨厌,但很少有用。 -
永远不要自己打电话给
main。编写另一个函数并递归调用它。 -
一个问题..为什么要这样做????使用另一个函数。