Line 14: Char 23: runtime error: signed integer overflow: 746384741 * 10 cannot be represented

问题描述:

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

Line 14: Char 23: runtime error: signed integer overflow: 746384741 * 10 cannot be represented_第1张图片

问题解决: 

class Solution {
public:
    bool isPalindrome(int x) {

        int sum = 0;
        int temp = x;
        if(x < 0)
        {
            return false;
        }

        while(x)
        {
            sum = sum * 10 + x % 10;
            x /= 10;
        }

        if(temp == sum)
        {
            return true;
        }
        else
        {
            return false;
        }
        
    }
};

编译错误:

Line 14: Char 23: runtime error: signed integer overflow: 746384741 * 10 cannot be represented in type 'int' (solution.cpp)

第14行:Char 23: 运行时错误,有符号整型数溢出:746384741 * 10 不能用类型 “int”(solution.cpp)表示

解决方法:

int 溢出,将其改为字节数更大的 double 类型即可。

你可能感兴趣的:(Line 14: Char 23: runtime error: signed integer overflow: 746384741 * 10 cannot be represented)