哪儿错了?高手指教,该如何处理

哪儿错了?高手指教Status Series(int ARRSIZE, int a[])/* 求i!*2^i序列的值并依次存入长度为ARRSIZE的数

哪儿错了?高手指教
Status Series(int ARRSIZE, int a[]) 
/* 求i!*2^i序列的值并依次存入长度为ARRSIZE的数组a; */
/* 若所有值均不超过MAXINT,则返回OK,否则返回OVERFLOW */
{
  int i;int c;int n;
  for(i=1;i<=n;i++)
  { c=i!*2^i;
  }
  for(i=1;i<ARRSIZE;i++)
  {a[i-1]=c;
  if(c>MAXINT)
  return OVERFLOW;
  else return OK;
  }
}


[解决办法]

C/C++ code
Status Series(int ARRSIZE, int a[]) /* 求i!*2^i序列的值并依次存入长度为ARRSIZE的数组a; *//* 若所有值均不超过MAXINT,则返回OK,否则返回OVERFLOW */{int i;int c;int n;   // n是多少, 规范一点的话c要付出值的。for(i=1;i<=n;i++)  { c=i!*2^i;     // 你要求i的阶乘吗?,那要一个循环的。}               // 2的i次方为pow(2,i);                // 讲求效率的话要用分治的算法。for(i=1;i<ARRSIZE;i++){a[i-1]=c;if(c>MAXINT)return OVERFLOW;else return OK;}}