C语言:++ --优先级的深入理解
#include <stdio.h>
int main()
{
int num = 11;
int result = ++num > 11 && --num < 20;
printf("result = %d\t num = %d\n",result,num);
return 0;
}
&&符号是并且的意思,A&&B指的是A并且B,所以两个运算都会进行
那么 问题是结果出来试试什么呢?
result = ? num = ?
第一步:刚刚提到&&表示并且,所以读代码应该是先运行++num
++在num的前面就是先进行加一的步骤,也就是现在num的数值变成了12
下一步就是与11进行比较,很明显是12是比11大,所以该&&左边的条件通过,
第二步:&&右边是--num,--在num的前面那就是先减一, --的过程是num=num-1,也就是12-1
所以num又变回了11的数值,再与20进行比较,显然是正确的,11小于20,
所以++num >11 && --num < 20整个条件是正确的,返回的值应该是1(为什么是1:因为在计算机返回值中一般1或者非0代表正确,0代表错误)
所以最后运行的结果是:
最后再提一嘴:num++与++num是不同的,num++是在num++这条语句运行完成了才进行加一
如:int num = 0;
sum = num++;
printf("%d%d",sum, num);
运行出来的结果是:1 0,所以num++是在完成了程序这一行的代码再进行加一
//如有错误,还请各位大佬指正!!
C语言:++ --优先级的深入理解的更多相关文章
- [转帖]C语言计算时间函数 & 理解linux time命令的输出中“real”“user”“sys”的真正含义
C语言计算时间函数 & 理解linux time命令的输出中“real”“user”“sys”的真正含义 https://blog.csdn.net/willyang519/article/d ...
- c语言函数指针的理解与使用
1.函数指针的定义 顾名思义,函数指针就是函数的指针.它是一个指针,指向一个函数.看例子: A) char * (*fun1)(char * p1,char * p2); B) char * *fun ...
- c语言typedef关键字的理解
1.typedef的定义 很多人认为typedef 是定义新的数据类型,这可能与这个关键字有关.本来嘛,type 是数据类型的意思:def(ine)是定义的意思,合起来就是定义数据类型啦. 不过很遗憾 ...
- STM32的优先级NVIC_PriorityGroupConfig的理解及其使用
写作原由:因为之前有对stm32 优先级做过研究,但是没时间把整理的东西发表,最近项目需要2个串口,但是不是两个串口同时使用,只是随机使用其中一个,程序对2个串口的优先级需要配置: 此文思路:“中断优 ...
- STM32的优先级NVIC_PriorityGroupConfig的理解及其使用(转)
源:http://blog.csdn.net/yx_l128125/article/details/9703843 写作原由:因为之前有对stm32 优先级做过研究,但是没时间把整理的东西发表,最近项 ...
- 二叉排序树插入C语言版 递归步骤理解
//二叉排序树 插入 (纯C语言实现) BTNode * BSTInsert2(BTNode *bt,int key){ //为什么纯C语言实现中 if(bt==NULL){ //要写成 bt-> ...
- c语言优先级和结合性
C语言的运算符众多,具有不同的优先级和结合性,我们将它们全部列了出来,方便大家对比和记忆: 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 ...
- HTML(超文本标记语言)的内容和理解
由于上篇文章中提到WebMethod的Description 属性(propery)中可以使用超文本,因此就记录一篇关于超文本的文章以供参考,注意:Description=" HTML格式 ...
- C语言指针专题——如何理解指针
本文为原创,欢迎转发! 最近在研读C primer plus 5版中文版,老外写的,还是很经典的,推荐给读者们,有需要的朋友可以在这里购买:C primer plus 5版中文版 指针,传说中是C语言 ...
- c语言函数指针的理解与使用(学习)
1.函数指针的定义 顾名思义,函数指针就是函数的指针.它是一个指针,指向一个函数.看例子: 1 2 3 A) char * (*fun1)(char * p1,char * p2); B) char ...
随机推荐
- 使用OHOS SDK构建mimalloc
参照OHOS IDE和SDK的安装方法配置好开发环境. 从github下载源码. 执行如下命令: git clone https://github.com/microsoft/mimalloc.git ...
- Go 语言变量类型和声明详解
在Go中,有不同的变量类型,例如: int 存储整数(整数),例如123或-123 float32 存储浮点数字,带小数,例如19.99或-19.99 string - 存储文本,例如" H ...
- Qt 设置图标的三种方式
Qt 设置软件窗口图标有三种方式: 一.通过资源文件,设置图标 this->setWindowIcon(QIcon(":/logo.ico")); 二.通过 pro 文件,设 ...
- 选择排序的基本实现【数据结构与算法—TypeScript 实现】
笔记整理自 coderwhy 『TypeScript 高阶数据结构与算法』课程 概念 本质:两两元素相比较,先扫描一遍未排序数列,把未排序的数列中的最小(大)元素,放到数列的已排序的末尾 特性 选择排 ...
- HDC2021技术分论坛:分布式软时钟有多重要?
作者:lishijun,HarmonyOS解决方案首席技术专家&软总线首席架构师 分布式软总线是HarmonyOS的关键根技术之一,也是众多开发者们非常关注的一项技术.通过分布式软总线,可以将 ...
- How Python Handles Big Files
The Python programming language has become more and more popular in handling data analysis and proc ...
- c# 框架系列 ———— EFCore 模型篇 [一]
前言 简单介绍一下EfCore 的模型篇 正文 内容来源: 配置模型 配置模型的方式,一种是fluent api 还一种是属性的方式. public class Blog { public int B ...
- docker 应用篇————dockerfile[十四]
前言 简单介绍一下dockerfile. 正文 dockerfile就是docker image的构建文件. 然后来运行一下. 然后就产生了test:1.0 这个镜像. 然后启动一下你就发现了这个镜像 ...
- pycharm更换主题,pycharm更换皮肤,pycharm更换不同颜色
1.首先 点击File→进入setting 2. 在settings里面找到appearance 3.选择 Theme,下拉即可修改 4.选择不同的主题,darcula是黑色,其他两个是白色
- Oracle ORA-12725 unmatched parentheses in regular expression
Oracle ORA-12725 unmatched parentheses in regular expression 简单来说就是正则表达式中的括号问题 这种一般就可以锁定使用正则的函数,例如 r ...