c语言中数据溢出的问题怎么解决?

2024-11-21 03:12:56
推荐回答(5个)
回答1:

需要准备的材料分别有:电脑、C语言编译器。

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp,输入问题基础代码。

2、在test.cpp文件中,将int全部调整为long long,printf函数调整为:printf("%lld!=%lld\n",n,count);。

3、编译器运行test.cpp文件,此时成功打印出了大数。

回答2:

因int 类型的变量的大小只有四个字节,20的阶乘太大了 所以溢出,把count改成 long long型就可以了。

#include
void main()
{
int nMax;
long long count;
printf("Enter the integer number:");
scanf("%d",&nMax);
int n,j;
for(n=0;n<=nMax;n++)
{
count=1;
for(j=1;j<=n;j++)
{
count*=j;
}
printf("%d!=%lld\n",n,count);
}
}

回答3:

1:注意各种数据类型的数值范围:比如int型0-65535等;
2:注意不要造成死循环:如:
main()
{
while(1) /*永远循环下去*/
printf("\n");
}

回答4:

long 型和int 类型一样都是一个4个字节!!

回答5:

你是想求阶层。。。20阶层到int型不会溢出呀。。。32位。大的很