首页 > 其他分享 >++和--操作符

++和--操作符

时间:2024-08-26 20:25:04浏览次数:11  
标签:11 10 ++ -- int 操作符

单目操作符:++和--

前面介绍的操作符都有两个操作数,C语言中还有一些只有一个操作数的,被称作单目操作符

1.++操作符

++是一种自增1的操作符,又分别为前置++和后置++

1.1.前置++

1 int a=10;

2 b=++a;

3 printf("a=%d b=%d\n",a,b);

计算口诀:先加1,后使用;

a原来是10,先加1,后a变成11,在使用就是赋值给b,b得到的也是11,所以计算技术后,a和b都是11,相当于这样的代码;

1 int a=10;

2 a=a+1;

3 b=a;

4 printf("a=%d b=%d\n",a,b);

1.2.后置

1 int a=10;

2 int b=a++;

3 printf("a=%d b=%d\n",a,b);

计算口诀:先使用,后加1

a原来是10,先使用,就是先赋值给b,b得到10,然后再加1,然后a变成了11,所以计算技术以后,a=11,b=10,相当于这样的代码;

1 int a=10;

2 int b=a;

3 a=a+1;

4 printf("a=%d b=%d\n",a,b);

2.--操作符

--是一种自减1的操作符,又分别为前置--和后置--

2.1.前置--

如果你听懂了前置++,那么前置--是同理的,只把加1换减1.

计算口诀:先减1,后使用

1 int a=10;

2 int b=--a;

3 printf("a=%d b=%d\n",a,b);//输出结果:9 9

2.2.后置

同理后置--类似于后置++,只是把加一换成减一。

计算口诀:先试用,后减1

1 int a=10;

2 int b=a--;

3 printf("a=%d b=%d\n",a,b);输出结果:9 10

3.副作用

++和--是有副作用的

比如;

1 int a =10;

2 int b=a+1;//这个表达式中b得到了11,a还是10,没有副作用

3

4 int a =10;

5 int b =++a;//这个表达式中,b得到了11,a也变化了,变成了11,++是有副作用的

对于带有副作用的表达式,尽量不要写的太复杂。

#include <stdio.h>
int main()
{
int i=42;
int j;
j=(i++ +10);
//i=42
//j=52
j=(++i+10);
//i=44
//j=54
return 0;
}

上面示例中,自增运算符的位置差异,会导致变量j得到不同的值。这样的写法很容易出现意料之外的结果,为了消除意外,可以改写下面的写法。

1 /*写法一*/

2 j=(i+10);

3 i++;

4

5 /*写法二*/

6 i++;

7 j=(i+10);

上面示例中,变量的自增运算与返回值是分离的两个步骤,这样就不太会出错,也提高了代码的可读性。


标签:11,10,++,--,int,操作符
From: https://blog.csdn.net/wangjing_0522/article/details/141534273

相关文章

  • 057 Project Setup & First Methods
    示例index.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>VueBa......
  • Study Plan For Python - Part4
    格式化输出1.reprlib模块提供了一个定制化版本的repr()函数,用于缩略显示大型或深层嵌套的容器对象importreprlibreprlib.repr(set('fantabulouslywonderificentamazingness'))#可迭代对象,输出"{'a','b','c','d','e','f',.......
  • 062 Finishing the Core Functionality
    示例index.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>VueBa......
  • 【黑深化-悟空】离线完整免安装版+全能修改器2款补丁
    3DM风灵月影大神已经为这款游戏推出了首款35项修改器,轻松通关!基础无敌模式,还是希望拥有无限生命、法力和气力,无线棍势,无限七十二变……总计35项  修改器功能一览:-数字键1-无敌模式/无视伤害判定-数字键2-无限生命-数字键3-无限法力-数字键4-无限气力......
  • CHIESI 凯西医药外企入职SHL测评:综合能力46分钟+ 性格测试25分钟 | 考情分析、真题题
       本测试中,您需要运用问题解决能力、数值计算能力和逻辑推理能力。您需要分析场景,解读相关信息,确定图案和顺序,计算数值并得出逻辑结论。测试中并不提供固定的选项供您选择,而将以互动为主。您可以通过拖拽/拖放操作,与问题进行互动!    ......
  • linux目录结构以及文件操作
    从头学习Linux的学习记录。1.Linux目录结构以及文件操作    linux和Windows一样都是操作系统,但是Linux经常用于嵌入式设备中,而我们学习的Ubuntu属于Linux的发行版,带有图形界面,但跑在嵌入式设备上的Linux常没有图形界面,直接用命令行操作,这在对资源敏感的嵌入式领域,节......
  • 宁德时代社招入职SHL题库:Verify测评语言理解及数字推理真题汇总
     您好!  感谢您应聘宁德时代,非常高兴邀请您参加本次人才测评。测评作为面试流程的重要环节,将直接影响最终录用决策,请您务必在48小时内完成。  开始测评前,请注意:1、挑选一个安静的环境,选择一台网速正常且无任何网络端口限制的电脑进行测评; 2、测评过程中,需要使用......
  • Novartis诺华制药社招入职SHL测评:综合能力46分钟 + 性格测试25分钟
    诺华制药(Novartis)是一家全球领先的医药和消费者保健企业,其社招入职测评包括综合能力测试和性格测试两个部分。综合能力测试主要考察应聘者的问题解决能力、数值计算能力和逻辑推理能力,测试时间大约为46分钟。性格测试则用于评估应聘者的性格特点,测试时间大约为25分钟。这些测评......
  • Python 3.11 从入门到实战1(环境准备)
            本篇文章是python3.11的学习开篇,我们的目标是:通过这一套资料学习下来,获得python基础学习与实例、实践相结合,使我们完全掌握python。并做到独立完成项目开发的能力。    今天的谈论的比较简单,也是后续学习的基础。python安装和工具pycharm的安装。pyth......
  • 苹果cms影视海螺模板V4.0优化版整站源码
    苹果cms影视海螺模板V4.0优化版整站源码苹果CMS是一款流行的影视网站管理系统,它允许用户轻松地创建和管理自己的影视内容网站。影视海螺模板V4.0优化版是针对苹果CMS设计的一个模板,它提供了更加美观和功能丰富的界面,以及一些性能和用户体验上的优化。以下是关于苹果CMS影视海......