折折星 发表于 2022-9-4 15:55:36

能不能帮忙解释一下这段代码

{:10_266:} 课后作业没有讲解太难受了,自己想的代码和小甲鱼的偏差很大,有没有大佬帮忙解释下这段代码的原理
#include <stdio.h>

int main()
{
      int num = 0;
      long sum = 0L; // 0L表示类型为long的0
      int status;

      do
      {
                printf("请输入合法的数字:");
                sum = sum + num;
                status = scanf("%d", &num);
      } while(status == 1);

      printf("结果是:%ld\n", sum);

      return 0;
}

wp231957 发表于 2022-9-4 16:03:12

感觉还可以啊,哪句代码你看不懂?

折折星 发表于 2022-9-4 16:04:35

wp231957 发表于 2022-9-4 16:03
感觉还可以啊,哪句代码你看不懂?

从do开始

折折星 发表于 2022-9-4 16:05:41

wp231957 发表于 2022-9-4 16:03
感觉还可以啊,哪句代码你看不懂?

sum 和num不是赋值为0了吗,为什么他do后面他们相加

wp231957 发表于 2022-9-4 16:13:16

折折星 发表于 2022-9-4 16:05
sum 和num不是赋值为0了吗,为什么他do后面他们相加

num是你每次输入的数值
sum是一个累加器,学编程一定要了解累加器
这段代码就是不停的把你输入的数值累加到sum
最后输出

折折星 发表于 2022-9-4 16:33:10

wp231957 发表于 2022-9-4 16:13
num是你每次输入的数值
sum是一个累加器,学编程一定要了解累加器
这段代码就是不停的把你输入的数值累 ...

这两个是特有名称吗

wp231957 发表于 2022-9-4 16:34:25

折折星 发表于 2022-9-4 16:33
这两个是特有名称吗

都不是,变量名随意起名,当然大多数人的观点是变量名要有意义

折折星 发表于 2022-9-4 16:36:33

wp231957 发表于 2022-9-4 16:34
都不是,变量名随意起名,当然大多数人的观点是变量名要有意义

printf输入是不是应该用scanf函数储存到变量里面吗?
他这个怎么直接赋值进去了

wp231957 发表于 2022-9-4 16:38:24

折折星 发表于 2022-9-4 16:36
printf输入是不是应该用scanf函数储存到变量里面吗?
他这个怎么直接赋值进去了

printf输入是不是应该用scanf函数储存到变量里面吗?
这句话严重看不明白,printf是输出函数

折折星 发表于 2022-9-4 16:40:59

wp231957 发表于 2022-9-4 16:38
printf输入是不是应该用scanf函数储存到变量里面吗?
这句话严重看不明白,printf是输出函数

哦哦抱歉,我想明白了,我把scanf储存的概念混淆了.
我以为printf函数只是打印当前结果,不能对后面的代码造成什么影响.
我想明白了,谢谢
页: [1]
查看完整版本: 能不能帮忙解释一下这段代码