当前位置: 首页 > news >正文

为什么使用sum时要初始化为0,一篇文章教你搞懂

1.sum在c语言中的作用

  1. 英文含义
    sum 英文单词本身就是“总和、合计”的意思,程序员习惯用它命名存放累加结果的变量。

  2. 核心作用
    sum 是一个累加容器(累加器),专门用来不断收纳多个数值相加之后的合计结果。
    每次执行 sum = sum + 新数值 (简写 sum += 新数值 ),就是把新的数字加到已经存好的总和上,再存回 sum。

  3. 初始化规则:必须初始化为 0
    在开始累加之前,一定要写 int sum = 0; 。
    2.为啥要初始化为0?
    1.C语言中,局部变量如果不手动赋值,里面是随机垃圾值;
    2.如果不写 sum = 0 ,sum一开始是乱码数字,后续累加结果全部出错。
    3.就像拿空盒子装东西:
    sum = 0 相当于先把盒子清空;
    如果不清空,盒子里原本有乱七八糟的东西,再往里放1、2、6……最后总数肯定不对。
    图片:下图以没有初使化为例,程序无法运行

    图片:下图则是成功例子

    3.是不是只有sum要初始化为0,而其他变量不用?
    这其实是许多新手的误区,不是别的变量不用初始化,而是它们的使用时机不一样;sum必须初始化为0,是因为它在计算语句里会读取自身旧值。

sum 变量在程序中会执行类似sum = sum + x;这样的累加语句。

1.这条代码执行时,计算机要先读取等号右边旧的sum值。如果 int sum; 没赋值,旧sum是内存里的随机垃圾值,计算直接出错。所以累加器sum,在第一次使用前必须手动给初始值0。

2.其他变量分两种情况

情况A:变量定义之后,立刻给它赋新值,没有先读取它本身,就可以不初始化(语法允许) 例子:
int a;
a = 10; // 直接给a写入10,全程没有读取a原来的值

情况B:只要变量在被赋值之前,要读取自身的值参与计算,就必须初始化,和是不是sum无关。比如累乘变量:
int ret;
ret = ret * 3; // 错误!这里要读取ret原来的值,ret是垃圾值

  1. 通俗总结

    1. sum的代码逻辑:先读自己 → 参与计算 → 再写入新值,所以必须提前初始化;

    2. 有些变量:先写入新值 → 之后才读取使用,中间不会读到垃圾值,看起来“不用初始化”;

    3. 通用铁律(所有变量通用,不分名字):

如果变量在第一次赋值前,需要读取它本身的值做运算,就一定要初始化;
如果变量定义后,第一步就是给它赋值,没有读取旧值,就可以不提前初始化。

通过这篇文章希望大家了解到sum初始化的原因,由此进而延申其他变量也需初始化,不过需要分情况而定。

http://www.jsqmd.com/news/1145006/

相关文章:

  • Python的下载与安装
  • AI漫剧分镜提示词之赛博朋克漫剧
  • CAN总线仲裁机制、FreeRTOS任务优先级
  • Python 解释器完整安装、环境变量与多版本共存实操指南
  • 内网安全:MS17-010漏洞原理
  • JAVA练习274-分割等和子集
  • c sharp基础
  • 你要是想1天盘点完3000台设备资产——RFID资产管理系统可以!
  • 【LLM】qwen3.5-9b
  • 数学建模竞赛模型选择指南:5类算法在母婴数据预测问题中的性能对比
  • 这次终于选对了!盘点2026年普遍认可的AI论文平台
  • 新手小白还搞不懂Python?来这里我将用最直白,最简单,最好绷的语言一步一步教会你Python的下载,环境搭建以及多版本管理
  • 2026WAIC展品地图:大模型、国产算力、人形机器人……8 大类全在这
  • Selenium IDE使用指南三(控制流)
  • 想找优质靠谱公司?看看陕西GEO优化报价,给你满意之选!
  • Claude Code Sonnet 5模型Token成本优化与PR评审实战指南
  • 微信聊天记录删了怎么找回?全套官方恢复方法,无备份也有补救渠道
  • 2026年,揭秘苦荞米背后的专业匠心与健康秘密
  • 许可证管理智能化:AI技术如何赋能高效管理?
  • 简历审查Agent工程化收尾:模型坑位、线程安全、超时兜底与RAG预告
  • AGENT实例-智能体量化交易真相:告别算命,拥抱信息差
  • 4-1word文档的排版
  • 2026婚宴市场巨变:摩卡婚礼,凭什么被北京五星酒店集体选择?
  • 《用AI做公众号流量主》第1课:为什么是公众号流量主
  • 第五章第二节:循环结构(while/do-while/for)
  • OpenClaw龙虾ai Windows、macOS部署教程 内置运行环境一键安装流程
  • Python scikit-learn 1.4 实战:5种相似度算法在推荐系统中的性能对比
  • 有没有不泄露文稿、改写自然的AI论文降重?筛选标准是什么?
  • 医美仪器配件采购:兼顾性价比与量产稳定性选型思路
  • 儿童面部彩绘怎么选?从成分到效果的全方位指南