新闻详情

新闻详情

首页 / 资讯中心 / 详情

i++ 和 ++i 的区别

发布时间:2026/9/29 21:48:27来源:尧图网络
i++ 和 ++i 的区别
i后置自增 与i前置自增核心一句话单独写一条语句时两者效果一样当作为表达式参与运算时返回值不同1. 单独语句无区别int i 1; i; // 等价 i; // i 最后都变成 2单独一行i;或者i;只做自增返回值不用结果完全相同。2. 放入表达式重点区别i先自增再返回新值前置i先返回原来旧值再自增后置示例 1iint i 1; int a i; // 第一步i i1 → i2 // 第二步把i的值赋值给a // 结果a2i2示例 2iint i 1; int a i; // 第一步把i原来的值赋值给aa1 // 第二步i i1 → i2 // 结果a1i23. 函数参数里的坑C/Cint i1; printf(%d %d, i, i); // 未定义行为多个自增放同一个函数参数编译器顺序不确定不要这么写4. 性能小知识点C内置基础类型inti和i现代编译器基本无性能差别自定义类重载运算符i前置直接返回引用效率高i后置需要临时对象保存旧值多一次拷贝开销更大所以 C 编码规范循环里优先推荐i5. for 循环最常用场景// 两种写法效果完全一样 for(int i0; i10; i){} for(int i0; i10; i){}for 循环的第三个表达式返回值不使用所以写i/i没有区别习惯上很多人写 i。快速记忆口诀 在前先加后用 在后先用后加练习#include stdio.h int main(void) { int i8; printf(%d\n,i); printf(%d\n,--i); printf(%d\n,i); printf(%d\n,i--); printf(%d\n,-i); printf(%d\n,-i--); printf(----\n) ; return 0; }运行结果代码分析#include stdio.h int main(void) { int i8; printf(%d\n,i); printf(%d\n,--i); printf(%d\n,i); printf(%d\n,i--); printf(%d\n,-i); printf(%d\n,-i--); printf(----\n) ; return 0; }核心知识点i前置自增先把 i1再使用 i 的值i后置自增先使用 i 当前的值语句结束后 i 再 1--i前置自减先把 i-1再使用 i 的值i--后置自减先使用 i 当前的值语句结束后 i 再 - 1一元负号-优先级高于后置/--逐行推演初始i 8printf(%d\n,i);前置 i i1 →i9输出9printf(%d\n,--i);前置 --i i-1 →i8输出8printf(%d\n,i);后置 先用 i8 输出printf 结束后 i i1 →i9输出8printf(%d\n,i--);后置 --先用 i9 输出printf 结束后 i i-1 →i8输出9printf(%d\n,-i);一元负号优先级高于后置 表达式等价于-(i)后置 规则先取 i 当前值 8取负得 - 8 输出printf 结束 ii1 →i9输出-8printf(%d\n,-i--);等价于-(i--)后置 --先取 i 当前值 9取负得 - 9 输出printf 结束 ii-1 →i8输出-9printf(----\n) ;输出分割线----
网站建设高端定制企业官网
RELATED

相关资讯

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

较早相关资讯

最新相关资讯

vscode 系列文章目录 - ctrl+鼠标左键无效:TaoToken 统一 Key 通道下的 settings.json 排查骨架 2026/9/29 22:41:46

vscode 系列文章目录 - ctrl+鼠标左键无效:TaoToken 统一 Key 通道下的 settings.json 排查骨架

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

阅读更多 →
2026 年 5 月前瞻:Hermes Agent 安全合规落地,用 TaoToken 统一 Key 打通悬镜灵境 AIDR 接入配置 2026/9/29 22:41:46

2026 年 5 月前瞻:Hermes Agent 安全合规落地,用 TaoToken 统一 Key 打通悬镜灵境 AIDR 接入配置

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

阅读更多 →
ArcEngine 查询、添加、删除要素的配置方法与验证:TaoToken 统一 Key 接入实践 2026/9/29 22:41:46

ArcEngine 查询、添加、删除要素的配置方法与验证:TaoToken 统一 Key 接入实践

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

阅读更多 →
Codex 配 TaoToken 接入本地 Qwen 与 llama:settings.json 骨架与 Ollama 对接踩坑实录 2026/9/29 22:41:46

Codex 配 TaoToken 接入本地 Qwen 与 llama:settings.json 骨架与 Ollama 对接踩坑实录

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

阅读更多 →
研发团队提效新范式:如何用 TaoToken 统一 Key 打造 7×24 小时组织级 Coding Agent? 2026/9/29 22:41:45

研发团队提效新范式:如何用 TaoToken 统一 Key 打造 7×24 小时组织级 Coding Agent?

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

阅读更多 →
异步加载与性能优化:从事件循环到前端与Android的实战 2026/9/29 22:41:37

异步加载与性能优化:从事件循环到前端与Android的实战

异步加载和性能优化,这两个词放在一起的时候,很多人第一反应是“不就是老生常谈吗”。但我在一线做了十多年,这两年又跨到 App 侧去优化启动性能,发现不少人对这两个词的认知还停留在“会用个 async/await、知道图片要懒加载”的层…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

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

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