书后习题让用递归做,感觉没什么问题,就是得不到结果啊。。。
#include "stdafx.h"
#include
using namespace std;
char * hehe(int n, int i, char*p)
{
int a[56];
if (n < 10) {
int j = 0;
a[i] = n; while (i--)
{
p[j++] = a[i] + 48;
}
p[j] = '\0';
return p;
}
else {
int ni = n / 10;
a[i++] = n - ni * 10;
hehe(ni, i, p);
}
}
int main()
{
int i = 0;
char name[20];
char(&p)[20] = name;
int n;
cin >> n;
hehe(n, i, p);
cout << p;
system("pause");
return0;
}