【发布时间】:2019-06-04 05:43:29
【问题描述】:
我想计算函数 move 中有多少步。如果可能的话,我想使用指针,这样我就可以了解更多。
我已经使用全局创建了一个计数器,但现在我想使用指针,但我尝试的一切都失败了。
void move(unsigned int moves, char source, char spare, char dest)
{
if (moves == 0) {
/* no move: nothing to do */
}
else {
move(moves - 1, source, dest, spare);
printf("Move disk %d from pole %c to pole %c.\n", moves, source,
dest);
move(moves - 1, spare, source, dest);
}
}
int main()
{
char source = 'A';
char spare = 'B';
char dest = 'C';
int moves = size();
move(moves, source, spare, dest);
return 0;
}
【问题讨论】:
-
发布一些您尝试过的东西,以便我们帮助您了解为什么它们不起作用:)
-
不需要保持全局变量。只需在 main() 本身中给它一个值,或者在你想从哪里调用 move() 。
标签: c function pointers recursion count