(++i)+(++i)+(++i)计算的探讨

2023-05-16

今天在进行着代码选择题练习的时候,我忽然看到了这一题。

我左思右想,发现答案应当是(2)+(3)+(4)=9,可我仍然保有着疑惑,因此把代码放到了VS中跑了一遍,得出来的答案却是12。

而当我使用DV C++时,答案却又变成了10。

因此我发现,不同的编译器会有不同的运算方法。在解决这个问题之前,我们可以先来了解何为++i以及i++。

i++ 与 ++i 的主要区别有两个:

1、 i++ 返回原来的值,++i 返回加1后的值。

a=i++,意思则为a=4,但i++仍然=3.

2、 i++ 不能作为左值,而++i 可以。

a=++i,则a=4,++i=4。

对于DV C++,在进行加法运算时,求出了左值和右值后,求出其和,再进行下一步运算。

​ 一开始i=1,++i后,i=2;第二个++i后,i=3;在求出了第一个加号左右两边的运算数字后,编译器将他们放到了存储器之中,这俩个数的位置就是当前的位置,因此3+3=6。对于最后一个++i,i=4,因此6+4=10。

对于VS编译器,是在进行加法之前先将所有++i求出,最后一同进行加法。即++i,++i,++i全部计算得出,再进行最终的加法运算。++i,i=2。++i,i=3。++i,i=4。因此++i=4,三个++i相加因此就是4+4+4=12.

因此我得出,在一般的编写代码中,应当尽量不要采用这种计算方法从而避免带来不必要的计算错误。

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(++i)+(++i)+(++i)计算的探讨 的相关文章

  • JS逆向-sm2、sm4加密某医保局

    前言 该文章为学习使用 xff0c 严禁用于商业用途和非法用途 xff0c 否则由此产生的一切后果均与作者无关 xff01 如有侵权 xff0c 请私信联系作者删除 需求 目标网址 xff1a aHR0cHM6Ly9mdXd1Lm5oc2E
  • Ubuntu16.04 出现E: Sub-process /usr/bin/dpkg returned an error code (100)

    原因为系统中dpkg文件损坏了 xff08 原因不详 xff09 xff0c 使用apt get f update也不能修复 需要单独下载dpkg的安装包进行修复 修复操作如下 1 在官网下载dpkg安装包 http security ub
  • SecureCRT抓取串口log

    一 通用自动配置 通用自动配置是指配置之后 xff0c 每次创建新的session都会导入该配置 xff0c 无需重复配置 xff0c 非常方便 首先在option里面找到Global Options xff1b 在Global Optio
  • vscode处理代码合并冲突

  • mysql---修改数据库root密码的方法

    为了数据库管理员root用户密码的安全 xff0c 可以定期修改密码 注意 xff1a 修改密码 必须要知道旧密码 才能设置新密码 并且要符合密码策略的要求 方法一 登录后修改 xff0c 数据库管理员连接服务后 修改自己的登陆密码 spa
  • 关于debian网卡驱动

    1 查看驱动信息的命令 xff1a 查看基本信息 xff1a lspci 22 00 0 有线网卡 25 00 0 无线网卡 26 00 0 Nvidia独立显卡 查看详细信息 xff1a lspci vvv 有线网卡使用的驱动为 xff1
  • Python实战,爬取金融期货数据

    大家好 xff0c 我是毕加锁 今天给大家带来的是 Python实战 xff0c 爬取金融期货数据 文末送书 xff01 文末送书 xff01 文末送书 xff01 任务简介 首先 xff0c 客户原需求是获取https hq smm cn
  • 在Ubuntu系统下利用Kazam软件录屏以及视频解码问题

    最近利用在本想在Ubuntu系统下录制一段仿真效果视频 xff0c 利用Ubuntu系统自带的录屏方式 xff0c 发现有些鸡肋 xff0c 因为只能录30秒 于是乎找了一款软件 xff0c 在此安利给大家 Kazam 1 Ubuntu系统
  • PMP1——3章经典题目

    第1题 以下哪个是项目的特点 xff1f A xff0e 必须为组织实现利润 B xff0e 通常会产出相同的产品 C xff0e 推动组织从当前状态转变到将来状态 D xff0e 项目是需要持续开展的重复性工作 第2题 旨在创造最终结果的
  • 认识世界和改造世界 [马原]

    认识世界与改造世界 认识世界 定义 认识世界 xff0c 就是主体能动地反映客体 xff0c 获得关于事物的本质和发展规律的科学知识 xff0c 探索和掌握真理 认识世界的活动是客观见之于主观 xff0c 是要认识事物发展的规律性 如何认识
  • C#工控上位机开发-->1、C#快速编程入门

    学习目标 xff1a 一 控制台的输入输出二 C 中的变量使用三 字符串的拼接与格式化的三种方式四 数据类型转换的三种方式 学习内容 xff1a 1 控制台的输入输出 xff08 1 xff09 输入方法 xff1a Console Rea
  • C#工控上位机开发---2.面向对象编程

    学习目标 xff1a 1 对象与类的概念 2 类的组成 3 字段 属性 方法 4 属性扩展 学习内容 xff1a 1 1 对象与类的概念 xff1a 类就是以对象共有的属性 xff0c 方法来定义的一个整体 xff0c 也就是一类 xff0
  • ubuntu16.04配置JDK环境变量(JDK8u2)

    一 流程 1 官网下载JDK 2 解压缩 放到指定目录 3 配置环境变量 4 设置系统默认JDK 5 测试jdk 二 步骤 1 官网下载JDK xff08 下载jdk8为例 xff09 https www oracle com techne
  • STM32的一键下载CH340 DTR RTS与复位电路NRST的学习笔记

    这两天在学习stm32最小系统板的时候 对这一部分特别的不理解 于是就去找了很多东西去看 先说一键下载电路吧 先引用一张正点原子的原理图 xff1a 在芯片手册上查找ch340的手册 xff0c 上面对于 RTS与DTR的定义是这样的 xf
  • Linux学习笔记——逻辑卷及vdo的建立

    目录 前言 一 逻辑卷 1 如何建立lvm设备 xff1a xff08 1 xff09 lvm的拉伸 xff08 2 xff09 lvm缩减 xff08 3 xff09 lvm快照 xff08 4 xff09 lvm删除 二 vdo Vir
  • BGP路由器协议排错教程:BGP 对等体翻动问题

    完整版下载 2022年最新BGP路由协议排错教程指南 网络安全文档类资源 CSDN下载 BGP 对等体失效问题讨论的是当 BGP 邻居关系总是在 Idle xff08 空闲 xff09 状态和 Active xff08 活跃 xff09 状
  • VUE 事件总线

    VUE 事件总线 事件总线通俗理解为在平级的兄弟组件上的传参 1 将事件总线挂载到原型上 span class token keyword new span span class token class name Vue span span
  • 一看就懂的java虚拟机内存区域划分

    一 虚拟机 同样的java代码在不同平台生成的机器码肯定是不一样的 xff0c 因为不同的操作系统底层的硬件指令集是不同的 同一个java代码在windows上生成的机器码可能是0101 xff0c 在linux上生成的可能是1100 xf
  • 硬核,20道经典Java基础面试题

    最近整理了20道Java基础面试题 xff0c 大家一起加油哈 1 ArrayList和LinkedList有什么区别 xff1f 可以从它们的底层数据结构 效率 开销进行阐述哈 ArrayList是数组的数据结构 xff0c Linked

随机推荐

  • 面向无人机的视觉目标跟踪算法:综述与展望

    摘要 近年来 无人机因其小巧灵活 智能自主等特点被广泛应用于民用和军事等领域中 特别是搜索侦察过程中首要的目标跟踪任务 无人机视觉目标跟踪场景的复杂性和运动目标的多变性 使得目标特征提取及模型建立困难 对目标跟踪性能带来巨大的挑战 本文首先
  • 网络空间对抗防御中的智能监测技术研究

    摘 nbsp nbsp 要 nbsp 网络空间数据流观测与威胁行为分析是国家网络空间安全防御中的重要方向 为 nbsp nbsp nbsp 应对国家网络空间大规模数据流观测和不断涌现的网络威胁对抗防御重大需求 针对传统 nbsp nbsp
  • Promethues (普罗米修斯)详细介绍

    目录 引言 一 Prometheus 概述 1 什么是Prometheus 2 Zabbix和Prometheus区别 3 Prometheus的特点 二 运维监控平台设计思路 三 Prometheus监控体系 1 系统层监控 xff08
  • 使用vue对表格数据进行查询

    大家好 xff0c 今天小明给大家带来一个带有查询框 的表格 xff0c 下面给大家瞅瞅效果图片 xff1a 带查询框的表格 xff0c 查询前的效果图 带查询框的表格 xff0c 查询后的效果图 从效果图上可以看出 xff0c 在查询框内
  • Linux操作系统面试总结

    1 系统启动流程 uboot gt kernel gt 根文件系统 uboot第一阶段属于汇编阶段 xff1a 定义入口 xff08 start S xff09 xff1a uboot中因为有汇编阶段参与 xff0c 因此不能直接找main
  • 详谈静态库和动态库的区别

    一 什么是库 xff1a 库是写好的 xff0c 现有的 xff0c 成熟的 xff0c 可以复用的代码 现实中每个程序都要依赖很多基础的底层库 xff0c 不可能每个人的代码都从零开始 xff0c 因此库的存在意义非同寻常 本质上来说 x
  • HDFS读取流程

    在HDFS的读写流程中 xff0c 主要是分为HDFS的读流程和写流程 其中先由HDFS写数据 xff0c 之后HDFS才可以读流程 HDFS写流程 Client向NameNode发送消息 xff0c 通过RPC与NameNode建立通信
  • 删除图片名与xml(json)文件名称不对应的

    1 文件夹下无目录文件夹 xff08 纯文件 xff09 import os def scanfile path 获取图片路径 xff08 列表格式 xff09 filelist 61 os listdir path for filepat
  • FreeRTOS内存不够

    STM32F103 xff0c RAM大小为20K xff0c 看起来还是很多的 xff0c 但一运行FreeRTOSG有点功能的程序马上就内存不够了 xff1b unable to allocate space for sections
  • FreeRTOS 任务之间运行时序

    操作系统 xff0c 我们肯定会创建许多任务 xff0c 而且任务的优先级不一样 xff0c 但我们一般情况是采用抢占模式 xff0c 也就是一直运行当前最高优先级任务 xff0c 那么其他低优先级任务就无法运行 xff0c 这时候需要通过
  • c语言-查找指定字符

    题目源自pta xff0c 侵删 本题要求编写程序 xff0c 从给定字符串中查找某指定的字符 输入格式 xff1a 输入的第一行是一个待查找的字符 第二行是一个以回车结束的非空字符串 xff08 不超过80个字符 xff09 输出格式 x
  • linux查看日志文件内容命令sed、cat、tac、more、less、head、tail、echo 1、按时间查询

    查询日志 xff1a linux查看日志文件内容命令sed cat tac more less head tail echo 1 按时间查询 sed n 39 2017 09 20 14 00 2017 09 20 15 00 p 39 c
  • 计算机保研面试经验分享—重庆大学

  • uCOS学习笔记——实时操作系统概述

    一 概述 RTOS real time operation system 既实时操作系统 通俗来说 xff0c 实时操作系统正如一个大管家一般 xff0c 可以根据任务的要求 xff0c 进行资源管理 xff0c 消息管理 xff0c 任务
  • windows HLK server部署操作步骤

    Windows Hardware Lab Kit HLK 微软官方提供的测试工具组 xff0c 也是微软的一种认证工具 xff0c 只有经过HLK测试过的windows系统 xff0c 官方才认可 The Windows Hardware
  • uCOS学习笔记----任务管理

    一 任务管理 一 任务的概念 从前文得知 xff0c uCOS可以将裸机中庞大的while 1 循环拆解为执行不同功能的小程序 xff0c 并依据一定的规则调度任务的运行 这些小程序就被称为任务 一般而言 xff0c 任务由三个部分构成 x
  • 想说说关于在刷题网站(牛客 、C语言网、力扣)上测试样例过了但是OJ判错这档子事

    目录 1 话题引入 2 在刷题过程中一些自己想说的 3 刷题时的一些小建议 4 个人感悟 1 话题引入 首先介绍一下我自己 xff0c 本人是一名专科大一的学生 xff1b 非计算机本专业 xff1b 因为想拓宽自己的知识面和技术 xff1
  • Java实现爬虫

    目录 xff1a 1 爬虫原理 2 本地文件数据提取及分析 3 单网页数据的读取 4 运用正则表达式完成超连接的连接匹配和提取 5 广度优先遍历 xff0c 多网页的数据爬取 6 多线程的网页爬取 7 总结 爬虫实现原理 网络爬虫基本技术处
  • Python+ADB脚本

    目录 准备工具 问题解决 xff1a 如何安装adb和python xff1f 编写程序 实现 注意 xff1a 准备工具 进入正题 xff0c 首先要准备的工具如下 1 一台正常的电脑且安装adb和python环境 2 一部安卓手机 4
  • (++i)+(++i)+(++i)计算的探讨

    今天在进行着代码选择题练习的时候 xff0c 我忽然看到了这一题 我左思右想 xff0c 发现答案应当是 xff08 2 xff09 43 xff08 3 xff09 43 xff08 4 xff09 61 9 xff0c 可我仍然保有着疑