C语言-第十一天-递归

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;
}

猜你喜欢

转载自blog.csdn.net/A4545156/article/details/131969488