一段看起来很简单的c语言代码,但是不懂什么意思。有大神可以帮忙解释一下吗

这是问题:
任意输入一个4位的正整数,要求:
分别输出千位、百位、十位和个位上的数字。

这是网上给的代码:
```#include

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

4个回答

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

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

这代码根本就是错的

#include <stdio.h>
int main()
{
    int n;
    scanf("%d", &n);
    int base = 1000;
    for (int i = 0; i < 4; i++)
    {
        printf("%d\n", n / base);
        n = n % base;
        base = base / 10;
    }
}
zege666
zege666 可是运行的话并没有报错啊
5 天之前 回复

如是输入的四位数
从千位开始,取,截,
百位,取,截
十位,取,截
个位,取,截
根本没有可以教你,只有靠自己理解,用笔画一画。。

for(1;2;3)
{4}

1 获取数字赋值给a
2 若a=0,则为假,跳出循环;若a!=0,则运行循环中的内容
3 每次都去掉a的个位数重新赋值给a
4 循环中对10取余就是获取该数的个位。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

1
在一段with open语句看到这样的一段代码 不懂是什么意思
3
如何详细分析一段C语言代码?
1
谁有基于ECC的盲签名代码?
3
vs2010 MFC 求一段检测txt文件变化的代码
3
学习Python,使用pygame时,遇到这样一段代码。这里的count变量是什么意思,它后面的数字又是什么意思?
2
C语言中关于输入验证的一段代码判断,scanf函数的getchar函数的混合使用
1
Qt 中一段代码看不懂 C++
2
qt 很简单的一段代码 利用Qsetting 完成,但是在读取配置文件的时候,出问题
0
一段找最大值的汇编代码无法正常运行
1
为什么我vscode运行一段很简单的代码时我的浏览器就一直处在加载中
1
ffmpeg无法分割3s一段的ts流文件?
1
maven的依赖中有一段代码,想请大神看看是什么意思
2
C语言编程实现:从键盘上读取任意长度的 一段文本,确定该文本中每个单词的出现频率
0
求一段调用二进制掩码提高语音可懂度的MATLAB程序的主函数?
0
求一段.htaccess代码!域名跳转的!
2
关于一段汇编程序的问题(《汇编语言第三版》王爽著中实验十第三小题数值显示的程序)
1
在网上看的一段代码不知道哪里错了
2
python for 循环搭配 if 判断,有一段代码看不懂。’它‘为什么是‘它’?
0
MATLAB遗传算法,麻烦注释一下代码,搞不懂啥意思?
1
scrapy 请求一段时间停一段时间,不连续,正常吗?