我在C中写了一个递归函数来反转一个整数(123 - > 321),当我在我的Mac上运行它时工作正常,但是当我的教练在运行Windows的计算机上运行它时表现得很奇怪.
int rev(int num)
{
int base;
if (num < 10) return (num);
base = pow(10,(int)log10(num));
return(rev(num/10)+num%10*base);
}
Run Code Online (Sandbox Code Playgroud)
例如,在OSX上调用rev(8765)返回5678,在Windows上,rev(8765)返回5672.我无法访问Windows机器以尝试在调试模式下运行程序,所以我一直在很难想到问题是什么.我非常感谢任何见解!
环境:
我使用的是OSX 10.8和GCC 4.2.我很确定我的导师正在使用MinGW作为她的编译器.