C语言-第十一天-递归
例子1:输入一个整数,按顺序打印出它的每一位
void print(unsigned int x)
{
if (x > 9)
print(x / 10);
printf("%d\n", x %10);
}
int main(void)
{
int a;
scanf("%d", &a);
print(a);
return 0;
}
例子2:不创建临时变量,计算字符串的个数
注意:在进行字符串传值时,应该使用指针的方式,因为字符串的在内存中存储是按照顺序存储的,在使用arrlen函数时,首先要进行计算的是第一个字符,然后使用str+1对后面的字符进行调用相加
int stlen(char* str)
{
if (*str != '\0')
return 1 + stlen(str + 1);
else
return 0;
}
int main(void)
{
char arr[] = "UIObc";
int sum = stlen(arr);
printf("%d\n", sum);
return 0;
}