sscanf和sprintf的使用强化

sscanf和sprintf的使用强化

  • 1、sscanf和sprintf的使用强化
  • 2、INT_MAX和INT_MIN两个宏的使用强化
class Solution {
public:
    int reverse(int x) {
        int tag=0;
        long long num=x;//注意,一定要用long long承载,不然INT_MIN不好受
        if( num<0 )
        {
            tag=1;
            num*=(-1);
        }

        char solve[100];
        sprintf(solve,"%lld",num);
        int len=strlen( solve );
        int L=0,R=len-1;
        while( L<R )
        {
            solve[L]^=solve[R];
            solve[R]^=solve[L];
            solve[L]^=solve[R];
            ++L;
            --R;
        }
        long long ret;
        long long one=INT_MAX;
        long long Two=INT_MIN;

        sscanf(solve,"%lld",&ret);

        //小于0
        if( tag )
        {
            if( (long long )(-1)*ret<Two )
            {
                return 0;
            }
            else
            {
                return -1*(int)ret;
            }
        }
        else
        {
            if( ret>one )
            {
                return 0;
            }
            else
            {
                return (int)ret;
            }
        }

    }
};
全部评论

相关推荐

粗心的雪碧不放弃:纯学历问题,我这几个月也是一直优化自己的简历,后来发现优化到我自己都觉得牛逼的时候,发现面试数量也没有提升,真就纯学历问题
点赞 评论 收藏
分享
Hello_WordN:咱就是说,除了生命其他都是小事,希望面试官平安,希望各位平时也多注意安全
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务