关于 if 的运用问题 (我是新手)
最近刚学C 对if 的运用还不是很明白,有时已经用if把输入值进行界定了,可是运行时还是不能按照我分的组运行.
我表达能力也不好,我用题来说明我的疑惑吧:
要求输入一个位数不超过5数字后能指出它的位数以及各位上的数字分别是什么.
我知道能用循环做,还很简单.可我想试试用if,
主要步骤就是
if(s>=10000 && s<100000)
{
a=s/10000;
b=s/1000-10*a;
c=s/100-100*a-10*b;
d=s/10-1000*a-100*b-10*c;
e=s-10000*a-1000*b-100*c-10*d;
printf("你输入的数字的位数是5,\n各位上的数字是:%d,%d,%d,%d,%d.\n",a,b,c,d,e);
}
后面的就是类似的方法
可是最后问题就出来了 比如我输入个123,显示结果就是
你输入的数字的位数是5,
各位上的数字是:0,0,1,2,3.
你输入的数字的位数是4,
各位上的数字是:0,0,1,2,3.
你输入的数字的位数是3,
各位上的数字是:0,0,1,2,3.
你输入的数字的位数是2,
各位上的数字是:0,0,1,2,3.
你输入的数字的位数是1,
各位上的数字是:0,0,1,2,3.
我用if对s进行了限定,为什么还会出现限定范围之外的结果?
请哪位指点下,最好能点一下用if限定时的用法,谢谢.