高手帮忙```
#include<stdio.h>
#include<conio.h>
main()
{
long number;
int i,ts,s,h,t,o;
clrscr();
scanf("%ld",&number);
ts=number/10000;
s=(int)(number-10000*ts)/1000;
h=(int)(number-10000*ts-1000*s)/100;
t=(int)(number-10000*ts-1000*s-100*h)/10;
o=(int)(number-10000*ts-1000*s-100*h-10*t);
我是初学者,
我是想输入一个5位数,
然后分别输出各个位数上的数字,
按以上程序来继续编译运行可以得到我想要的答案,
但我最初并不是这样编写的,这个是修改后的,
原来的是:
ts=number/10000;
s=(int)((number-10000*ts)/1000);
h=(int)((number-10000*ts-1000*s)/100);
t=(int)((number-10000*ts-1000*s-100*h)/10);
o=(int)(number-10000*ts-1000*s-100*h-10*t);
仅仅是多几个括号后就得不到正确结果了,
让我很不解,我知道当整型与长整型混合运算时要把整形先自动转换成长整型再计算,但我加的括号并不影响其运算把,
这是为什么??
请高手指点一下啊,,多谢!!!!