C »y ¨¥ ªº ¨ç ¼Æ ¥i ¶i ¦æ »¼ °j ©I ¥s ( recursive call ) ¡A ¤] ´N ¬O »¡ ¦b
¨ç ¼Æ ¤§ ¤¤ ¥i ©I ¥s ¨ç ¼Æ ¥» ¨ ¡C ¨ç ¼Æ ¦b ¶i ¦æ »¼°j ©I ¥s ®É ¡A ¦b ¨ä ©Ò ¨Ï ¥Î ªº ÅÜ ¼Æ ³Q °ï ¿n ¦b °ï Å| °Ï °ì ¡A ¨C
¦¸ °õ ¦æ return ±Ô z ¡A ¨ç ¼Æ ¦b ¸Ó ¼h ©I ¥s ¤¤ ©Ò ¨Ï ¥Î ªº ÅÜ ¼Æ ´N ±q °ï Å| ªð ¦^ ¡C
(1) ¨C ¦¸ °õ ¦æ return ±Ô z¡A°ÝÃD½d³òÁY¤p
(2)
¨ã¦³¤@Ӳפ°j¤§±ø¥ó
|
µ{¦¡¹ê¨Ò: »¼°j int factorial(int j) {
|
|
result
: |
1.
¤@¯ë¨ç¼Æ¤§©I¥s
2.
»¼°j¨ç¼Æ¤§©I¥s
|
01 |
* =================================================== */ |
|
02 |
/* µ{¦¡¹ê¨Ò:¨Ï¥Î¦C¦L°}¦C¨ç¼Æ»¡©ú»¼°j¨ç¼Æ¤§©I¥s */ |
|
03 |
/* ================================================== */ |
|
04 |
|
|
05 |
int list[6] = { 1, 2, 3, 4, 5, 6 };
/* °}¦C¤º®e */ |
|
06 |
|
|
07 |
/*
-----------------------------------------------------------------------------------
*/ |
|
08 |
/*
»¼°j°}¦C¤Ï¦V¦C¦L¨ç¼Æ
*/ |
|
09 |
/*
-----------------------------------------------------------------------------------
*/ |
|
10 |
void invert_array(int j) |
|
11 |
{ |
|
12 |
if ( j
< 6 )
/* ²×¤î±ø¥ó */ |
|
13 |
{ /* »¼°j¦ê¦C¦C¦L¨ç¼Æ©I¥s */ |
|
14 |
invert_array(j + 1); |
|
15 |
printf("[%d]",list[j]); /* ¦C¦L¤¸¯À¸ê®Æ */ |
|
16 |
} |
|
17 |
} |
|
18 |
/* -----------------------------------------------------------------------------------
*/ |
|
19 |
/*
¥Dµ{¦¡: ¤Ï¦V¦C¦L°}¦C¤º®e.
*/ |
|
20 |
/*
-----------------------------------------------------------------------------------
*/ |
|
21 |
void
main() |
|
22 |
{ |
|
23 |
int i; |
|
24 |
|
|
25 |
printf("°}¦Cªº¤º®e:\n"); |
|
26 |
for ( i= 0; i
< 6 ; i++) |
|
27 |
printf("[%d]",list[i]); /* ¦C¦L¤¸¯À¸ê®Æ */ |
|
28 |
printf("\n");
/* ´«¦æ */ |
|
29 |
printf("»¼°j¦C¦L°}¦Cªº¤º®e:\n"); |
|
30 |
invert_array(0);
/* ©I¥s¦C¦L¨ç¼Æ */ |
|
31 |
printf("\n");
/* ´«¦æ */ |
|
32 |
} |
|
µ{¦¡¹ê¨Ò: ¶O³Õ¥§¦è¼Æ¦C long fib(int n) { if (n <=2) return (1); return (fib( n-2)
+ fib(n-1)); } |
Fib¨ç¼Æ°õ¦æpºâ¹Lµ{
