#咨询下我写的这个递归调用函数的返回值问题
要解决的问题如下图
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
int convert(int n);
int main()
{
int number;
scanf("%d", &number);
convert(number);
}
int convert(int n)
{
int i;
i = n / 10;
if (i != 0)
{
i=convert(i);
}
putchar(n % 10 + '0');
printf("\t");
}
这是我自己写的递归函数,一开始没仔细思考时写了出来,没想到真的能运行成功,但不知道原理= =
我在调试时发现,每次convert(i)的返回值都是1,这是为什么?
你这函数些的也不行啊,返回值类型是int,可你连个return语句都没有。那i=convert(i)时,返回的i是个不确定的值