代码在DeV C++上运行良好,但在GCC 4.3.2上不适用

代码在DeV C++上运行良好,但在GCC 4.3.2上不适用,gcc,runtime-error,dev-c++,Gcc,Runtime Error,Dev C++,这段代码在dev上运行得很好,但在gcc上会导致运行时错误?我能知道为什么吗? 该程序用于寻找最小迭代次数,以连续添加一个数字及其倒数,直到获得一个回文 #include<iostream> using namespace std; unsigned long palin(unsigned long A) { unsigned long S=0, B; int d=0; B=A; while ( B!=0 ) { d=B%10; S=S*1

这段代码在dev上运行得很好,但在gcc上会导致运行时错误?我能知道为什么吗? 该程序用于寻找最小迭代次数,以连续添加一个数字及其倒数,直到获得一个回文

#include<iostream>

using namespace std;

unsigned long palin(unsigned long A)
{
  unsigned long S=0, B;
  int d=0;

  B=A;
  while ( B!=0 )
  { 
    d=B%10;
    S=S*10+d;
    B/=10;
  }
  return S;
}

int main()
{ 
  int n,j,c;  
  unsigned long P,Q;

  cin>>n;

  for( int i=1; i<=n; i++ )
  {
    cin>>P;
    c=0;
    Q=palin(P);


    if( Q!=P )
      while( Q != P && c<1000 )
      {
        P=Q+P;
        Q=palin(P);
        c++;
      }

    cout << c << " " << Q << endl;
  }
  return 1;
}

如果你正确地缩进代码,你就更有可能得到帮助。是的,关于缩进。。。我用gcc在我的机器上编译并运行了它,没有问题。您收到了什么运行时错误消息?我想现在可以了。。。。我认为运行时错误是一个非零的退出代码…我所要做的就是在main中返回0,而不是返回1…非常感谢大家花时间。。。