C语言赋初值的问题
这是关于C语言赋初值的问题,后悔之前没学好。现在不知道是我的能力有问题还是怎么样。依然有很多小问题不明白
如这么个程序
#include<stdio.h>
main()
{
long int fac;
int i,n;
printf(“please input n:”);/*输入n的值*/
scanf("%d",&n); /*从键盘获取n*/
for(i=1;i<=n;i++)
{
fac=fac*i;
}
printf("fac=%12ld",fac);
}
而我得到的结果是
please input n:5
fac=503316480
而我对fac赋初值时如
#include<stdio.h>
main()
{
long int fac=1;
int i,n;
printf(“please input n:”);/*输入n的值*/
scanf("%d",&n); /*从键盘获取n*/
for(i=1;i<=n;i++)
{
fac=fac*i;
}
printf("fac=%12ld",fac);
}
就可以得到正常结果 :fac=120
这是编译器的问题吗?我用的是tc 2.0呢