This code snippet is supposed to return the reverse of the given integer and in the Sololearn compiler it works but in VSCode and Code::Blocks the output is different.
For 543 it returns -93835951 in VSCode and 694653940 in Code::Blocks.
Does anybody know why?
#include <iostream>
using namespace std;
int main()
{
    int n, sum, a;
    a = 0;
    sum = 0;
    cin >> n;
    while (n>0)
    {
        a = n % 10;
        sum = sum * 10 + a;
        n = n / 10;
    }
    cout << sum;
    return 0;
}
 
     
    