新手有关问题!

新手问题!!!!
#include <stdio.h>
#include <stdlib.h>
int sum (int n)
{
  int i,j=1,s;
for(i=1;i<=n;i++) /* i从1到n递加 */
{
s*=i*j;
}
  return (s);
}

int main(void)
{
  int x,s;
  scanf("%d",&x); /* 把输入的数赋给 x */
  s=sum(x);
  printf("%d\n",s);
  system("PAUSE");
  return 0;
}
怎么让这个程序实现X的阶乘

------解决方案--------------------
C/C++ code
#include <stdio.h>
#include <stdlib.h>
int sum (int n)
{
  int i,s=1;//你这个是完全可以做到的,但是这儿要将s初始化
for(i=1;i<=n;i++) /* i从1到n递加 */
{
    s*=i*j;
}
  return (s);
}

int main(void)
{
  int x,s;
  scanf("%d",&x); /* 把输入的数赋给 x */
  s=sum(x);
  printf("%d\n",s);
  system("PAUSE"); 
  return 0;
}

------解决方案--------------------
C/C++ code
int sum (int n)
{
  int i,s=1;
  for(i=2;i<=n;i++)
  {
    s*=i;
  }
  return (s);
}