我已经为此努力了好几个小时。
我有一个递归函数,如下所示:
void fractal ( turtle_t *t, int x){
while ( x != 0){
printf("%d\n", x);
turtle_walk ( t, 20*x);
turtle_turn ( t, 25 );
x -= 2;
fractal ( t, x );
}
}
当我运行此代码时,除
x -= 2
以外,其他所有内容似乎都可以正常工作。我从参数x的值10开始。打印语句给我:10, 8, 6, 4, 2, 2, 6, 4, 2, 2, etc
我想念什么吗?
我也尝试使用
fractal ( t, x-2 );
递归调用,但这也不起作用。
最佳答案
尝试这个
void fractal ( turtle_t *t, int x){
if( x >= 0){
printf("%d\n", x);
turtle_walk ( t, 20*x);
turtle_turn ( t, 25 );
x -= 2;
fractal ( t, x );
}
}