news 2026/7/4 3:16:24

单目操作符 ++、--、+、- 几分钟搞懂

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
单目操作符 ++、--、+、- 几分钟搞懂

啥是单目操作符?

简单说,只需要一个操作数的运算符就是单目操作符。比如 -5 里的负号,i++ 里的自增。

今天只说四个最常用的:++、--、+、-。


一、正号+和负号-

这个最简单,就是数学里的正负号。

int a = 10; int b = -a; // b = -10 int c = +a; // c = 10(正号一般省略)

负号把数值取反,正号啥也不干(写不写都一样)。


二、自增 ++ 和自减 --

这两个是“自己加 1”和“自己减 1”。

但有个坑:写在前面和写在后面不一样!

前置(++i / --i)

先变后用 —— 变量先自增/自减,然后用新值参与运算。

int i = 5; int a = ++i; // i先变成6,再把6赋给a // 结果:i=6,a=6

后置(i++ / i--)

先用后变 —— 先用变量的旧值参与运算,然后再自增/自减。

int i = 5; int a = i++; // 先把5赋给a,然后i变成6 // 结果:a=5,i=6

记忆口诀:“前++先加后用,后++先用后加”。


三、对比示例(重点)

#include <stdio.h> int main() { int x = 10; int y = 10; printf("前置++:%d\n", ++x); // 输出 11,x变成11 printf("后置++:%d\n", y++); // 输出 10,然后y变成11 printf("此时 y = %d\n", y); // 输出 11 return 0; }

四、单独使用时没区别

如果只是单独一行i++;或者++i;,不跟别的运算混在一起,效果完全一样,都是让 i 加 1。

for (int i = 0; i < 10; i++) // 用 i++ 或 ++i 都行

五、特别注意

++ 和 -- 只能用于变量,不能用于常量或表达式。

5++ 是错的,(a+b)++ 也是错的。

不要写太复杂的自增嵌套,比如 i = i++ + ++i,不同编译器结果可能不同,自己写代码时避开这种“未定义行为”。


总结表

操作符名称效果
+正号不变(一般省略)
-负号取相反数

++i

前置++先加1,再使用
i++后置++先使用,再加1
--i前置--先减1,再使用
i--后置--先使用,再减1

最后一句:工作中常用在循环里,单独写一行就完事,别整花活儿。新手记住“前加后用”和“先用后加”就够了。


如果你觉得有帮助,欢迎点赞、收藏、评论,让更多人看到!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/4 3:15:14

OpenCV案例——微笑检测

一、项目概述项目采用分层检测逻辑&#xff0c;先识别画面中的人脸区域&#xff0c;再只在人脸范围内检测微笑&#xff0c;有效规避背景干扰&#xff0c;提升识别准确率。程序运行后会调用本地摄像头&#xff0c;绿色框标记人脸&#xff0c;蓝色框标记微笑区域&#xff0c;检测…

作者头像 李华
网站建设 2026/7/4 3:15:11

React Server Components 边界:不是所有组件都该搬到服务端

React Server Components 边界&#xff1a;不是所有组件都该搬到服务端 React Server Components 带来了新的架构选择。服务端组件可以减少客户端包体、直接访问后端资源&#xff0c;也能让一些页面更快。但它不是"把所有组件搬到服务端"的按钮。交互状态、浏览器 AP…

作者头像 李华
网站建设 2026/7/4 3:14:45

从 0 学习 Alibaba Open Code Review(三):Git Diff 解析流程

前言 上一篇文章中&#xff0c;从源码角度找到了 ocr review 的命令入口。 当用户执行&#xff1a; ocr review程序会从 cmd/opencodereview/main.go 进入命令分发逻辑&#xff0c;然后进入&#xff1a; runReview(args[1:])接着会调用&#xff1a; parseReviewFlags(args)解析…

作者头像 李华
网站建设 2026/7/4 3:14:20

第六篇:《内存分析工具:vmstat、smem、pmap、Valgrind》

理解了内存管理的原理之后&#xff0c;需要用工具把理论“可视化”。内存分析工具链可以分为三个层次&#xff1a;系统级&#xff08;vmstat&#xff0c;看整体趋势&#xff09;、进程级&#xff08;smem、pmap&#xff0c;看具体进程的内存分布&#xff09;和代码级&#xff0…

作者头像 李华
网站建设 2026/7/4 3:14:01

个人AI聊天机器人真的必要吗?三重过滤网评估技术适配度

1. 这不是又一个“AI聊天机器人教程”&#xff0c;而是一次对技术存在意义的诚实复盘“Rethinking the Necessity of Personal AI Chatbots in Modern Society”——这个标题里没有一行代码&#xff0c;不提任何模型参数&#xff0c;也没列一个部署步骤。它问的是一个被我们集体…

作者头像 李华