定义sum时要注意其取值范围要比-2的32次方到2的32次方减1广,所以选用刚好的long 下面是代码
int reverse(int x)
{
int pop;
long sum = 0;
while (x != 0)
{
pop = x % 10;
sum = sum * 10 + pop;
x = x / 10; //反转整数
}
if ((int)sum != sum) // 将得到的long类型的sum和int类型性的sum进行比较若不同则溢出返回0
{
return 0;
}
return (int)sum;
}