📄 recursion_test.c
字号:
#include "excalibur.h"
#ifndef nios_32
#error mflat works only on Nios 32
#endif
static int guard_zone[0];
int triangle(int x)
{
if(&(x) <= &guard_zone[100])
{
printf("Stack overflow! Quitting.\n");
nr_jumptoreset();
}
if(x <= 0)
return 0;
else
{
int result;
result = x + triangle(x - 1);
return result;
}
}
int printTriangle(int x)
{
printf("triangle of %d is %d.\n%",x,triangle(x));
}
int main(void)
{
printTriangle(0);
printTriangle(1);
printTriangle(2);
printTriangle(3);
printTriangle(6);
printTriangle(9);
printTriangle(12);
printTriangle(15);
printTriangle(18);
printTriangle(21);
printTriangle(25);
printTriangle(100);
printTriangle(1000);
printTriangle(2000);
printTriangle(2500);
printf("\004");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -