昔日少年郎 发表于 2018-3-8 17:32:23

循环输出

我输入456,结果实在看不懂?

人造人 发表于 2018-3-8 17:40:06

为什么不发代码?

Zmynx_2017 发表于 2018-3-8 17:43:41

#include<stdio.h>
int main()
{
        int number,cnt=0,a,i=0;
        scanf("%d",&number);
        while(number>0)
        {
                cnt++;
                a = number%10;
                i ++;
                number /= 10;
        }
        printf("这个数字是%d位数\n",cnt);
        for(i=cnt-1;i>=0;i--)
        printf("%d",a);
        return 0;
}我猜你的代码要实现的意思是这个,你可以参考一下。

阿bang 发表于 2018-3-8 17:47:48

你是要输出每个位数上的数字吧?
那么你的a的表达式出错了,应该取余,把尾巴取出来

757129128 发表于 2018-3-8 17:53:16

首先你输入 456 ;
第一轮循环
i = 0;
a = 456/ 10 = 45;
i = 1;
number = 456 / 10 = 45;
第二轮循环
a = 45 / 10 = 4;
i = 2;
number = 45 / 10 = 4;
第三轮循环
a = 4 / 10 = 0;
i = 3;
number = 4 / 10 = 0;
循环结束
可见 i = 3;
3,2,1,0
最大可取到a
所以越界了出现乱码;
页: [1]
查看完整版本: 循环输出