风之领主

千秋邈矣独留我,百战归来再读书

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

C:最难的是整数溢出 [−2^31,  2^31 − 1]

int reverse(int x){
int req = 0;
int rev = 0;

while(x!=0)
{
req = x%10;
x = x/10;
rev = rev*10 + req;
if(rev > INT_MAX || rev > (INT_MAX*10) && rev == 7) return 0;
if(rev < INT_MIN || rev < (INT_MIN*10) && rev ==-8) return 0;

return rev;
}

同样的代码,C++提交可以通过,C语言提交却不可以通过。

posted on 2019-09-09 22:58  风之领主  阅读(103)  评论(0编辑  收藏  举报