【发布时间】:2015-05-18 03:49:34
【问题描述】:
我正在尝试实现一个递归调用自身并按升序打印给定数字的代码,即如果数字为 5,则该函数将打印 1 2 3 4 5。我不能以任何方式使用循环!
void print_ascending(int n)
{
int i = 1;
if(i < n)
{
printf("%d", i);
i++;
print_ascending(n);
}
}
当然,这段代码的问题是它每次都会将变量 i 重新初始化为 1 并无限循环打印 1。
也不允许有外部全局变量或外部函数!
【问题讨论】:
-
看看
static做了什么