
帮我看看这个程序的错误在哪?
这是我的程序,当输入的数字小于6位时,他可以运行‘‘但是一大于6位,就出现乱码,这是这么回事‘‘‘帮忙解释一下谢谢‘‘‘#include<stdio.h>intmain(...
这是我的程序,当输入的数字小于6位时,他可以运行‘‘但是一大于6位,就出现乱码,这是这么回事‘‘‘帮忙解释一下谢谢‘‘‘
#include <stdio.h>
int main (void)
{
int shuru,xunhuan;
printf("qing shu ru shu zi?\n");
scanf("%i",&shuru);
do {
xunhuan = shuru % 10;
printf("%i",xunhuan);
shuru = shuru / 10;
}
while ( shuru != 0 );
printf("\n");
return 0;
}
你们两个都说的有理,我就不晓得把这分给哪个了```你们自己看把这个分给你们中的哪个吧``` 展开
#include <stdio.h>
int main (void)
{
int shuru,xunhuan;
printf("qing shu ru shu zi?\n");
scanf("%i",&shuru);
do {
xunhuan = shuru % 10;
printf("%i",xunhuan);
shuru = shuru / 10;
}
while ( shuru != 0 );
printf("\n");
return 0;
}
你们两个都说的有理,我就不晓得把这分给哪个了```你们自己看把这个分给你们中的哪个吧``` 展开
2个回答
展开全部
因为你的shuru,xunhuan都定义为INT类型的,TC环境下INT类型的空间为2字节,最大数为65536,超过这个就溢出错误,你输入的数字已经超过int类型空间的最限制,造成了溢出错误。
你只发现了6位数,事实上,如果输入超过65536一半32768的5位数也会出现错误。
你只发现了6位数,事实上,如果输入超过65536一半32768的5位数也会出现错误。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询