新闻详情

新闻详情

首页 / 资讯中心 / 详情

《C 语言 if-else 和循环:那些老师没讲透的细节》

发布时间:2026/9/29 11:43:47来源:尧图网络
《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

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

工业相机SDK开发实战:图像格式解析、转换链路与避坑指南 2026/9/29 12:49:16

工业相机SDK开发实战:图像格式解析、转换链路与避坑指南

1. 工业相机SDK开发里,图像格式为什么是第一道坎刚接触工业相机SDK开发的人,十有八九会在图像格式上栽跟头。你打开相机,调好曝光和增益,满心欢喜地抓一帧图,结果拿到的数据要么是黑白雪花,要么颜色诡异得像…

阅读更多 →
HCIE-Cloud V2.0备考避坑指南:从容器到OpenStack排错 2026/9/29 12:49:09

HCIE-Cloud V2.0备考避坑指南:从容器到OpenStack排错

简介:HCIE-Cloud培训教材V2.0是华为针对云计算专家认证推出的官方培训资料,面向认证考生及云计算运维、架构设计人员。内容围绕FusionSphere虚拟化、FusionCloud私有云、FusionAccess桌面云三大方案展开,详细介绍各方案的特点、功能与架构&am…

阅读更多 →
YOLOv8从环境搭建到RK3588部署:训练调参与损失曲线分析全流程 2026/9/29 12:49:09

YOLOv8从环境搭建到RK3588部署:训练调参与损失曲线分析全流程

简介:《yolov8详细教程.docx》是一份面向目标检测初学者和课程实训学生的完整YOLOv8入门教程,聚焦从零搭建YOLOv8环境、完成图片标注与模型训练全流程。文档先梳理YOLOv8相比YOLOv5的骨干网络、Anchor-Free检测头、C2f模块及多尺度融合等创新点&#xff…

阅读更多 →
星盘接口开发文档:太阳弧接口指南 2026/9/29 12:49:03

星盘接口开发文档:太阳弧接口指南

星盘接口开发文档:太阳弧接口指南 1. 引言 本文档详细介绍了占星系统的太阳弧接口的使用方法,包括请求参数详解、响应数据结构、错误处理机制以及最佳实践建议。 2. 接口基础信息 接口名称: 太阳弧 请求方式: POSTContent-Type: application/x-www-form-…

阅读更多 →
用Dify工作流搭建AI应用自动复盘系统,让静默故障无处遁形 2026/9/29 12:48:50

用Dify工作流搭建AI应用自动复盘系统,让静默故障无处遁形

说句实话,我做AI应用开发这两年,最头疼的从来不是“怎么让模型回答得更聪明”,而是“怎么发现它已经在犯蠢了”。模型在测试集上表现再好,一上线面对真实用户,各种奇奇怪怪的输入就会把它打回原形。前阵子我搭了个叫hi…

阅读更多 →
Multisim 14.3 安装教程:从下载到报错排查与仿真优化 2026/9/29 12:48:36

Multisim 14.3 安装教程:从下载到报错排查与仿真优化

做电子设计这几年,我装过不下十次Multisim,从14.0到14.3都折腾过。很多同学习惯在QQ群或者网盘里找multisim免费安装包,结果要么下载下来是一堆捆绑软件,要么安装到一半就报错,要么装完打开发现缺少一堆组件。实际上&a…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉