void recursion () { statements; ... ... ... recursion (); / * function calls itself * / ... ... ... } int main () { recursion (); }
#include <stdio.h> double factorial(unsigned int i) { if(i <= 1) { return 1; } return i * factorial(i - 1); } int main() { int i = 15; printf("%d 的阶乘为 %f\n", i, factorial(i)); return 0; }
#include <stdio.h> int fibonaci(int i) { if(i == 0) { return 0; } if(i == 1) { return 1; } return fibonaci(i-1) + fibonaci(i-2); } int main() { int i; for (i = 0; i < 10; i++) { printf("%d\t\n", Fibonaci (i)); } Return 0 ; }
#include <stdio.h> #include <stdarg.h> Double Average ( int num, ...) { the va_list valist; Double SUM = 0.0 ; int I; / * to num parameter initialization valist * / the va_start (valist, NUM); / * access the parameters of all assigned valist of * / for (I = 0 ; I <NUM; I ++ ) { SUM + = the va_arg (valist, int ); } / * clean up the memory of valist reserved * / to va_end ( valist); return SUM / NUM; } int main() { printf("Average of 2, 3, 4, 5 = %f\n", average(4, 2,3,4,5)); printf("Average of 5, 10, 15 = %f\n", average(3, 5,10,15)); }