用c语言求位数(第二次请帮忙)

来源:百度知道 编辑:UC知道 时间:2024/05/15 12:29:20
#include "stdio.h"
void main()
{
long int x1,x2,x3,x4,x5,m=62378;
x1=m/1%10;
x2=m/10%10;
x3=m/100%10;
x4=m/1000%10;
x4=m/1000%10;
printf("%d,%d,%d,%d,%d\n",x1,x2,x3,x4,x5);
}

为什么运行结果会出现8,0,7,0,3,long int应该改成哪种数据类型

#include "stdio.h"
void main()
{
long int x1,x2,x3,x4,x5,m=62378;
x1=m/1%10;
x2=m/10%10;
x3=m/100%10;
x4=m/1000%10;
x4=m/1000%10; /*这里是x5吧,x5=m/10000*/
printf("%d,%d,%d,%d,%d\n",x1,x2,x3,x4,x5); /*%d改为%ld*/
}
你把x1定义为long int 却用int 输出,是不对的,看看高位向低位副职存储原理吧