一个C++小程序请解答一下

2025-03-29 00:38:43
推荐回答(2个)
回答1:

#include
using namespace std;
void f(int x)
{
if(x)
{
cout.put('0'+x%10) ;
cout< f(x/10);

}
}

int main()
{
f(11001);
return 0;
}

你的程序应该是我的这样要求的吧.应该是分别输出各个位上的数字吧.
因为你没有输出空格或回车所以才是11001.正确的输出应该是1 1 0 0 1

回答2:

简单的递归调用,和这个类似:

#include
using namespace std;

void rprint(char* p)
{
*(p+1) ? rprint(p+1) : 0;
cout << *p;
}

int main()
{
rprint("123456");
}