开发者社区> 问答> 正文

mooc上老师讲的代码有两段没有看太懂

代码如下

 #include<stdio.h>  //输入数字然后程序判断这是几位数 
int main ()
{
    int x ,n=0;            //x输入的数字 n是用来输出的位数
    scanf("%d",&x);

    n=n+1;        // 3        只要输入数字都是1位以上的不存在0位所以先+1
    x /=10;         // 4   利用两整数相除省略小数部分,将输入的数字位数减去1位 

    while(x>0)   //判断输入的数字是否小于0
    {
        n++;               //n的值+1
        x/=10;               //将输入的数字位数再减去1位
    }
    printf("%d\n",n);

        return 0 ;
}

这程序的3 4行不是很理解 想听听您们的讲解,多谢了!

展开
收起
a123456678 2016-03-20 15:57:28 2116 0
1 条回答
写回答
取消 提交回答
    1. n=n+1
      把n+1的值赋给n。对了,别说数学的事情。这里的等号不是等于的意思,是赋值的意思
    2. x /= 10; 从意义上理解,可以看做x=x/10;当然实际执行上,有点不一样,不过暂时可以忽略这些不一样。
      另外,提醒一点,整数除以整数,结果必然是整数,如果出现小数部分,会被截尾
    2019-07-17 19:09:46
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
阿里云总监课第二期——语音基础知识串讲 立即下载
给ITer的技术实战进阶课-阿里CIO学院独家教材(四) 立即下载
互联网思维下的MOOC课程实践 立即下载