recursion_test.c

来自「基于fpga和sopc的用VHDL语言编写的EDA的32位Nios CPU嵌入式」· C语言 代码 · 共 58 行

C
58
字号

#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 + =
减小字号Ctrl + -
显示快捷键?