c语言中long和int

long和int有啥区别?
#include<stdio.h>
//编写函数
/Begin/
long long fac(int n)
{
    long a,b;
    long sum=0,x=1;
    for(a=1;a<=n;a++)
    {
        for(b=1;b<=a;b++)
        {
            x=x*b;
        }
        sum=sum+x;
        x=1;
    }
   
    return sum;    

}
/End
int main(void)
{  
    /Begin/
int n;
scanf("%d",&n);
if(n>=1&&n<=20)
{
    printf("%lld",fac(n));
}
else
{
    printf("错误");
}
    /End

    return 0;
}
这个里面的long能换成int不?

long原则上不短于int
但实际上现在大部分编译器中long和int都是4字节长度,所以实际上区别不大
有帮助望采纳~

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632