#include<iostream>
using namespace std;
void f(double n)
{
if(n!=0)
{
cout<<n<<" ";
f(n/10);
}
}
int main()
{
f(1234567);
return 0;
}
或者在void函数中把其改为 if(n>0),输出的还是很奇怪的数,然后只要把void(double n)改为void(int n),问题就迎刃而解了。我实在是搞不懂,我知道这可能与浮点数存在不精确有关,那为什么改为n>0还是错的呢~~忘大牛帮忙解决!