投稿 资料上传 提问 搜索
您现在的位置是: 首页 > 问答 > 正文

请帮忙理解一下下面一段c语言代码,不是很懂,请大神帮忙看一下~

问题:

任意输入一个4位的正整数,

要求:

分别输出千位、百位、十位和个位上的数字。

代码如下:

int main(){
int a;
for(scanf("%d",&a);a;a/=10){
printf("%d\n",a%10);
}
return 0;
}




问题回复
  1. 时光静好
    时光静好IT技术之家

    对于c语言中的for循环语句,for(初始条件;进入循环体条件;每轮循环结束进行的操作)
    所以这段代码的意思是:
    1.循环开始前,从标准输入(键盘)读入一个数字赋值给变量a
    2.判断a是否等于0,如果不等于0,进入循环体,如果等于0,退出循环
    3.每轮循环后对a进行除10操作

    算法思想:对于一个整数,对其求10的模得到其个位数,除以10后再求模得到更高位的数字,依次循环下去直到a==0循环结束

    回复