尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
《C 语言 if-else 和循环:那些老师没讲透的细节》
你有没有遇到过这种情况代码写得看着没问题一运行结果就不对调试半天最后发现是 else 跟错了 if…… 今天就把 C 语言分支和循环里最容易踩的 4 个坑一次性讲清楚。一、else 到底跟谁—— 就近原则就近原则 → “else 就像个找搭档的人谁离它最近就跟谁走”如int main(){int a 0;int b 0;scanf(“%d %d”, a, b);if (a 1)if (b 2)printf(“hehe\n”);elseprintf(“haha\n”);return 0;}这段代码的输出图一输入1 2图二输入1 3很明显这个else与第二个if搭配在一起这时如果想让else与第一个if在一起就需要把第二个if套起来如图这时候else与第一个if连用b2时依旧打印haha)**二、if 只管 “一句话”—— 大括号的重要性如int main(){int score 0;scanf(“%d”, score);if (score 60)printf(“拿捏拿捏\n”);printf(“庆祝一下\n”);return 0;}*很明显无论score是多少都会输出庆祝一下由此得出if和else只控制一句同上如果想要两句话都控制加{}即可三、算到一半就不算了—— 短路求值由于左边的式子为’假‘使得右边的式子不求值短路求值 → “就像你查成绩第一科就挂了后面几科不用看也知道总评过不了”首先需要了解前置和后置的区别如果为a则式子先读取a本身的值然后再使得aa1那么a就是先让a自身加1后再读取a的值三个操作符为取反为并且||为或者当ab时 a,b只要有一个为’假‘则整个式子都假而当a||b时 a,b有一个为’真‘即可那么下列代码可解释短路求值int main()//测试短路求值{int i 0, a 0, b 2, c 3, d 4;i a b d;printf(“a%d\n b%d\n c%d\n d%d\n”, a,b,c,d);return 0;}我们输出一下显而易见只有a自己加1 而其他值不变 正是因为a为’假’使得式子都是‘假’相同原理 如果是a 则所有值都会发生变化***四、break 和 continue一个退学一个休学break vs continue → “break 是直接退学continue 是这学期挂了但下学期接着读”这里只拿一个简单的for循环来举例int main(){int i 0;for (i 1;i 10;i) {if (i 5)continue;printf(%d , i);}return 0;}***这是一个简单的输出1-10的数字 中间在5的时候添加continue 此刻输出只是在5处出现了作用而把continue换break 即int main(){int i 0;for (i 1;i 10;i) {if (i 5)break;printf(%d , i);}return 0;}输出为很明显这个break直接在5处进行了终止作用于该处和往后的所有 这样两者区别就显而易见了。总结一下else 找最近的 if、if 只管一句记得加 {}、 和 || 会偷懒、break 直接走 continue 跳过本次。下次写代码多留意这几点bug 少一半
RELATED

相关推荐

Altium Designer 20 新功能实战解析:从AD19升级到AD20的完整指南

Altium Designer 20 新功能实战解析:从AD19升级到AD20的完整指南

1. 从AD19到AD20:这次升级到底动了谁的奶酪Altium Designer 19 在不少硬件团队里还没完全铺开,20 版本就推到了面前。我身边很多做 PCB 设计的同行,包括我自己,第一反应都是“19 的快捷键还没记全呢”。但真正把 AD20 装进工作流跑…

📅 2026/9/29 11:44:53
弹指之间命中一笔业务,ABAP 中的精准触发之道

弹指之间命中一笔业务,ABAP 中的精准触发之道

销售订单已经创建,客户只改了其中一个交货行的请求日期。我们的系统此时需要重新判断这行能否按期交付。处理范围听起来很小,实施时却很容易失控。程序若重新读取整张订单、重算所有行、再次调用一遍后续接口,一次看似轻巧的点击就可能牵动许多无关处理。订单行数多、调用链…

📅 2026/9/29 11:39:53
告别卡顿:Windows 下用 fnm 替代 nvm-windows 管理 Node.js 版本

告别卡顿:Windows 下用 fnm 替代 nvm-windows 管理 Node.js 版本

前几天我把开发机上用了快两年的 nvm-windows 卸了,换成 fnm,整个过程从下载到配置完大概二十分钟。换完最直观的感受是:以前执行 nvm list 或者 nvm use 时那种明显卡一下的感觉没了,几乎所有命令都是瞬回。这不是玄学&#xff0…

📅 2026/9/29 11:39:53
MORE NEWS

更多资讯

📰

Jev模型服务接入指南:从密钥申请到Codex配置实战

最近几天,Jev这个词突然在开发者社群里刷屏了。打开技术群、刷动态,到处是“Jev模型官网”“Jev密钥”“Jev在Codex里怎么用”这类关键词。但问了一圈,发现一个很尴尬的现象:真正能讲清楚Jev是什么的人,没几个。有人以…

📰

TensorFlow实战指南:从安装部署到与PyTorch对比的2024全解析

如果你点进这篇文章,估计你已经受够了那些把 TensorFlow 吹成“万能神器”的教程。作为一个从 TensorFlow 0.x 时代就开始折腾的过来人,我得先说句实话:TensorFlow 早年确实是出了名的难用,动不动就要建图、开会话、跑 Session&am…

📰

AI搜索排名优化实战:让品牌被任务智能体优先引用

1. 变化已经发生:AI搜索正在改写流量规则,越早看懂越主动过去十年做搜索排名优化,大家盯的是 Google、百度、必应的爬虫和排名算法。关键词密度、外链数量、TDK 设置、页面权重这些老一套,在很多行业依然有效,但一个明…

📰

TensorFlow 2024实战指南:从安装到部署全流程解析

TensorFlow 这个词,凡是碰过机器学习的人基本都绕不开。2015 年谷歌把它开源出来,一度几乎是深度学习的代名词,这几年虽然被 PyTorch 抢了不少风头,但真要论工业落地、移动端部署、大规模分布式训练,TensorFlow 依然是…

📰

2800张YOLO手机检测数据集实战:从标注到部署

2800张的规模说大不大,说小也够用。你要是做过目标检测就知道,数据集这个东西,数量只是表象,真正能决定模型上限的,是数据的分布、标注的一致性以及场景的贴近度。蹭着YOLO系列模型的热度,今天就把这份手机…

📰

AI 代码可视化,Code Wiki 还挺好用!用 TaoToken 统一 Key 打通 Gemini 生成代码图谱

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬