理解C语言中的a++、a--和++a、--a
C语言中 a++
a--
和 ++a
--a
的区别
a++
表示先赋值再进行加运算
a--
表示先赋值再进行减运算
++a
表示先进行加运算再赋值
--a
表示先进行减运算再赋值
注:从上面的概念理解很抽象
实例
1. 理解 a++
代码
# include <stdio.h>
int main(){int a = 10;int c ;// 第一次直接给 c 赋值 c = a = 10,第二次再计算赋值给 a ,即 a = a + 1 = 10 + 1 = 11c = a++; printf("先赋值再运算 \n");printf("此时 c 的值为:%d", c);printf("此时 a 的值为:%d", a);return 0;
}
计算结果如下:
先赋值再运算
此时 c 的值为:10
此时 a 的值为:11
2. 理解 a--
代码
# include <stdio.h>
int main(){int a = 10;int c ;// 第一次直接给 c 赋值 c = a = 10,第二次再计算赋值给 a ,即 a = a - 1 = 10 - 1 = 9c = a--; printf("先赋值再运算 \n");printf("此时 c 的值为:%d", c);printf("此时 a 的值为:%d", a);return 0;
}
计算结果如下:
先赋值再运算
此时 c 的值为:10
此时 a 的值为:9
3. 理解 ++a
代码
# include <stdio.h>
int main(){int a = 10;int c ;// 第一次先计算赋值给 a ,即 a = a + 1 = 10 + 1 = 11,第二次再把 a 的值赋给 c = 11c = ++a; printf("先运算再赋值 \n");printf("此时 c 的值为:%d", c);printf("此时 a 的值为:%d", a);return 0;
}
计算结果如下:
先运算再赋值
此时 c 的值为:11
此时 a 的值为:11
4. 理解 --a
代码
# include <stdio.h>
int main(){int a = 10;int c ;// 第一次先计算赋值给 a ,即 a = a - 1 = 10 - 1 = 9,第二次再把 a 的值赋给 c = 9c = --a; printf("先运算再赋值 \n");printf("此时 c 的值为:%d", c);printf("此时 a 的值为:%d", a);return 0;
}
计算结果如下:
先运算再赋值
此时 c 的值为:9
此时 a 的值为:9
以上是个人的总结理解,还请各位大佬多指点,谢谢~
理解C语言中的a++、a--和++a、--a相关推荐
- 一文理解C语言中的volatile修饰符
一文理解C语言中的volatile修饰符 2019/12/2 FesianXu 前言 volatile修饰符是在嵌入式开发和多线程并发编程中常见的修饰符,理解其对于实践过程非常有帮助,此文参考了[1] ...
- c语言static能改变吗,理解c语言中的static
我们通过程序控制计算机的执行过程,就像是利用咒语来控制魔法精灵.我们要知道了精灵的名字,才能召唤他.这一个个名字便是程序里的符号,我们可以理解为变量和函数. 符号有两个重要的属性 可见性和生命周期(对 ...
- java c 简单例子_通过一个简单的例子来理解C语言中的LAPACK调用
我是LAPACK和C / Fortran接口的初学者 . 我需要在Mac OS-X Lion上使用LAPACK / BLAS解决线性方程和特征值问题 . OS-X Lion提供优化的BLAS和LAPA ...
- 理解C语言中的sizeof操作符
友链 sizeof不是函数,就是一个一元运算符,只不过用起来象个函数而已 对于数据类型,sizeof会计算出该数据类型的大小,比如sizeof(int)就是4 但是如果是指针的话 比如 char* a ...
- c语言中什么函数可以作为虚函数,C++语言中的“虚函数”就像C语言中的指针,必须要弄懂的...
上一节较为详细的讨论了C++语言中基类被派生类继承过程中的内存模型,尤其较为详细的分析了虚函数及其虚表.虚表指针在内存中是如何分布,如何存储的,这对于理解C++语言中的"动态绑定" ...
- C语言中.h文件和.c文件如何理解?看完详细解析,小白也能懂!
简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段 2.词法与语法分析阶段 3.编译 ...
- c语言中b的作用是什么意思,C语言中是什么意思?ab怎么理解?
C语言中&是什么意思?a&b怎么理解?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! C语言中& ...
- 关于c语言中EOF用法的理解
作者:Senlern 转载请注明,原文链接:http://blog.csdn.net/zhang429350061/article/details/8760636 首先看一下EOF的官方解释: 计算机 ...
- python语言strip的作用_Python语言中的strip()的理解
本文主要向大家介绍了Python语言中的strip()的理解,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 在看到Python中strip的时候产生了疑问 strip() 用于移 ...
最新文章
- 制作一个简单的linux
- MySQL抓包工具:MySQL Sniffer【转】
- vm 安装jdk1.8_JDK 13:VM.events已添加到jcmd
- 只有22%的人做对了这道数据分析题,你来试试吗?
- python部署到服务器上解析不到模块_python socket模块放到服务器上就跑不了了 -问答-阿里云开发者社区-阿里云...
- spring教程(上)
- tcc分布式事务框架源码解析系列(四)之项目实战
- 如何把HTML背景图片变透明,photoshop怎样把图片背景变透明
- 12.逻辑运算符与、或、非、双感叹号、双问号
- 最好用的进销存软件测评排名
- H5API ---(Web存储-拖拽事件-通信-websocket-geolocation)
- linux给root权限命令,linux设置root权限命令
- 云计算的三种服务模式:IaaS、PaaS、SaaS
- fluent6.3如何制作动画
- 解决vscode导致电脑很卡
- php监听input,js实时监听input中值变化
- Java大牛给初学者的学习路线建议
- 这几个 GitHub 项目真带劲
- Microsoft Offfice 2010 测试版下载
- 总结二:底部导航栏的实现
热门文章
- 【蜂口 | AI人工智能】三维人脸重建——龙鹏 深度学习与人脸图像应用连载(十)...
- 苹果手机iOS自带原生文档扫描功能,秒杀所有文档扫描软件
- [附源码]计算机毕业设计springboot小太阳幼儿园学生管理系统
- 2018广告屏蔽软件
- 基于ssm考勤管理系统
- 四种属性范围(重点)
- NLP自然语言处理实战(一):利用分词器构建词汇表
- 【人工智能】人工智能是什么?如何入门人工智能?我们为什么要学人工智能?
- 由frankmocap得到的.pkl文件转为.bvh或者.fbx
- 愿天下有情人都是失散多年的兄妹(25 分)