1,接受一个整型值(无符号),按照顺序打印它的每一位。
#include<stdio.h>
void print(int n)
{
if(n>9)
{
print(n/10);
}
printf("%d ", n%10);//最后从这里归
}
int main()
{
int num = 1234;
print(num);//print是个打印函数
return 0;
}
红线是递 蓝线是归。
2,编写函数不允许创建临时变量,求字符串的长度。
#incude <stdio.h>
int my_strlen(char* str) //指针变量
{
if(*str == '\0')
return 0;
else
return 1+my_strlen(str+1);//从前往后知道找到\0
}
int main()
{
char arr[] = "abcdef";//后面有\0
int len = my_strlen(arr);//数组名相当于首元素的地址