递归消除 [英] Recursion elimination
问题描述
我试图将其转换为非递归版本,但没有
运气......
#include< stdio.h>
无效倒计时(int p)
{
int x;
x = p - 1 ;
if(p!= 0)
{
printf("%d \ n",p) ;
倒计时(x);
}
}
int main()
{
int i = 10;
倒计时(i);
返回0;
}
Lorenzo Villari写道:
我试图把它变成一个不递归的版本,但没有运气......
#include< stdio.h>
void countdown(int p)
{
int x;
x = p - 1;
if(p!= 0)
{
printf("%d \ n",p);
倒计时(x);
}
}
INT main()
{i / 10;
倒计时(i);
返回0;
}
#include< stdio.h>
void countdown(int upper_limit);
int main( )
{
int i = 10;
倒计时(i);
返回0 ;
}
无效倒计时(int upper_limit)
{
int i;
for(i = upper_limit;我> 0;我 - )
printf("%d \ n",i);
{
--Steve
blockquote>
" Lorenzo Villari" < VL **** @ tiscali.it>在消息中写道
新闻:lW ********************** @ twister2.libero.it ..我试图将其转换为非递归版本,但没有运气......
#include< stdio.h>
void countdown(int p)
{x / p> 1;
if(p!= 0)> {
printf("%d \ n",p);
倒计时(x);
}
}
int main( )
{i / 10;
倒计时(i);
返回0;
}
阅读for-loop主题
int main()
{
int i;
for(i = 9; i!= 0; i--)
{
printf("%d \ n",i);
}
返回0;
}
-
Jeff
" Jeff" <无***** @ notexist.com>在消息中写道
news:bj *********** @ news.hgc.com.hk ...
" Lorenzo Villari < VL **** @ tiscali.it>在消息中写道
新闻:lW ********************** @ twister2.libero.it ..。I 我试图将其转换为非递归版本,但没有运气......
#include< stdio.h>
void countdown(int p)
{x / p> 1;
if(p!= 0)
{ /> printf("%d \ n",p);
倒计时(x);
}
}
int main()
{
int i = 10;
倒计时(i);
返回0;
}
阅读主题为for-loop
int main()
{
int i;
for(i = 9; i!= 0 ; i--)
{/> printf("%d \ n",i);
}
哦,它应该是for(i = 10; i!= 0; i - )
抱歉。
返回0;
}
-
杰夫
I''ve tried to transform this into a not recursive version but without
luck...
#include <stdio.h>
void countdown(int p)
{
int x;
x = p - 1;
if(p != 0)
{
printf("%d\n", p);
countdown(x);
}
}
int main()
{
int i = 10;
countdown(i);
return 0;
}
解决方案Lorenzo Villari wrote:
I''ve tried to transform this into a not recursive version but without
luck...
#include <stdio.h>
void countdown(int p)
{
int x;
x = p - 1;
if(p != 0)
{
printf("%d\n", p);
countdown(x);
}
}
int main()
{
int i = 10;
countdown(i);
return 0;
}
#include <stdio.h>
void countdown(int upper_limit);
int main()
{
int i = 10;
countdown(i);
return 0;
}
void countdown(int upper_limit)
{
int i;
for (i = upper_limit; i > 0; i--)
printf("%d\n", i);
{
--Steve
"Lorenzo Villari" <vl****@tiscali.it> wrote in message
news:lW**********************@twister2.libero.it.. .I''ve tried to transform this into a not recursive version but without
luck...
#include <stdio.h>
void countdown(int p)
{
int x;
x = p - 1;
if(p != 0)
{
printf("%d\n", p);
countdown(x);
}
}
int main()
{
int i = 10;
countdown(i);
return 0;
}
Read the topic of "for-loop"
int main()
{
int i;
for(i=9; i!=0; i--)
{
printf("%d\n", i);
}
return 0;
}
--
Jeff
"Jeff" <no*****@notexist.com> wrote in message
news:bj***********@news.hgc.com.hk...
"Lorenzo Villari" <vl****@tiscali.it> wrote in message
news:lW**********************@twister2.libero.it.. .I''ve tried to transform this into a not recursive version but without
luck...
#include <stdio.h>
void countdown(int p)
{
int x;
x = p - 1;
if(p != 0)
{
printf("%d\n", p);
countdown(x);
}
}
int main()
{
int i = 10;
countdown(i);
return 0;
}
Read the topic of "for-loop"
int main()
{
int i;
for(i=9; i!=0; i--)
{
printf("%d\n", i);
}
Oh, it should be "for(i=10;i!=0;i--)"
Sorry.
return 0;
}
--
Jeff
这篇关于递归消除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!