在函数的调用过程中,如果函数funcA调用了函数funcB,函数funcB又调用了函数funcA,则
A. 称为函数的直接递归调用
B. 称为函数的循环递归调用
C. 称为函数的间接递归调用
D. C程序不允许这样的递归调用
查看答案
下面的函数是用递归法计算一个十进制正整数n中0的个数。例如输入12004,应输出2;输入12345,应输出0。请补充完整程序中的空白部分,使程序能得出正确的结果。int count(int n){if (n>=0 && n<=9)return n==0?1:0;elsereturn count(_____)+count(n%10);}
以下程序是计算学生的年龄。已知第一位最小的学生年龄为10岁,其余学生的年龄一个比一个大2岁,求第5个学生的年龄。#include int age( int n ) { int c; if( n==1 ) c=10;else c= ① ; return(c); }int main() { int n=5; printf("age:%d\n", ② );return 0; }
下列函数是求一个字符串str的长度。int strlen( char *str ){if ( ① ) return (0); else return ( ② ); }
下面函数用递归调用的方法,将str中存放的长度为n的字符串反转过来,例如原来是"ABCDE",反序为"EDCBA"。 void invent(char *str,int n) {char t;t=*str; *str=*(str+n-1); *(str+n-1)=t; if( n>2 ) invent ( ① ,n-2);else ② ;}