我这个c语言程序 怎么输入过大的数就出错??

2025-06-27 09:27:37
推荐回答(3个)
回答1:

int的位数太少了,你把int换成long long,如果你的是vc 6.0,你就把int换成__int64,这样就可以了
#include
int main(void)
{
long long num,i,a,n,b;

i=0;
printf("Enter num:\n");
scanf("%lld",&num);
n=num;

while(num!=0){
num=num/10;
i=i+1;
}

for(b=i;b>=1;b--){
a=n/pow(10,(b-1));

n=(long long)n%(long long)pow(10,(b-1));

printf("%lld,",a);
}

return 0;
}
其实完全可以不用long long,直接用char
#include
#include
#include
using namespace std;
int main()
{
char str[1000];
scanf("%s",str);
for (int i=0;i printf("%c ",str[i]);
return 0;
}

回答2:

如果你用int定义一个变量进行计算,那么他的值只能在-32728~32767之间,否则运算结果就不对,可以换成long试试

回答3:

这么大的数已经把int爆了