关于C++中的#define

2023-05-16

#include <iostream>
using namespace std;
#define ADD(x, y) x+y//试卷上是减号,本人觉得是加号

int main()
{
	int m = 3;
	int n = 4;
	m += m * ADD(n, m);
	cout << m << endl;
	return 0;
}

请看上面的代码,你觉得m最后会输出?呢。

其实在C++里,#define宏定义

#define ADD(x, y) x+y
这种方式最后在编译的时,仅仅做的是 代码替换,这就像是语句

m += m * ADD(n, m);
其实就会被编译为:

m += m *n+m;
之后计算m*n=12,然后+m=15,然后m+=15(也就是m=m+15)

所以最后结果为18........

【PS: 】貌似跟#define与运算符优先级没有关系的吧,起码我觉得不应该是这个说法...


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

关于C++中的#define 的相关文章

  • 解决Multiple dex files define Landroid/support/v4/accessibilityservice的问题

    Error Execution failed for task 39 DeviceManage transformClassesWithDexForDebug 39 gt com android build api transform Tr
  • #ifndef.#define, #endif 的用法

    文件中的 ifndef define endif 很关键 xff0c 是为了避免多重包含 xff0c 比如如果两个C文件同时包含同一头文件 xff0c 那么就会出现问题 xff0c 所以使用这种方法可以有效避免这种情况 一般用法 xff1a
  • python中define函数_Python中的函数

    函数基础 01 函数的快速体验 1 1 快速体验 所谓函数 xff0c 就是把 具有独立功能的代码块组织为一个小模块 xff0c 在需要的时候 调用 函数的使用包含两个步骤 xff1a 定义函数 封装独立的功能 调用函数 享受 封装的成果
  • tepedef和define的区别

    xfeff xfeff 1 xff1a typedef 可以简化复杂的类型声明 2 xff1a 定义与平台无关的类型 3 xff1a 可以与 struct 结合使用 4 xff1a typedef 和 define 执行时间不同 关键字ty
  • #define和const的区别

    这个区别用从几个角度来说 xff1a 角度1 xff1a 就定义常量说的话 xff1a const 定义的常数是变量 也带类型 xff0c define 定义的只是个常数 不带类型 角度2 xff1a 就起作用的阶段而言 xff1a def
  • php中define()函数和defined…

    原文地址 xff1a php中define 函数和defined 函数的使用 及来防止恶意调用 作者 xff1a 疯子的博客 php中define 函数和defined 函数的使用 define 用来定义常量 xff0c 常量也是全局范围的
  • typedef和define有什么区别

    typedef和define都是替一个对象取一个别名 xff0c 以此增强程序的可读性 xff0c 区别如下 xff1a xff08 1 xff09 原理不同 define是C语言中定义的语法 xff0c 是预处理指令 xff0c 在预处理
  • dwm-1000 测距总是出现 #define SYS_STATUS_RXPTO 0x00200000UL /* Preamble detection timeout */

    ex 05b ds twr resp 程序 总是出现 致使官方的代码 无法实现通讯 define SYS STATUS RXPTO 0x00200000UL Preamble detection timeout 需要着重修改参数
  • C语言中define的用法

    define顾名思义 xff0c 就是下定义 xff0c 那么在C中它也发挥着下定义的作用 1 提前定义变量 include lt stdio h gt define N 100 int main int a 61 10 printf 34
  • #define

    define用法 1 简单的define定义 define MAXTIME 1000 一个简单的MAXTIME就定义好了 xff0c 它代表1000 xff0c 如果在程序里面写 if i lt MAXTIME 编译器在处理这个代码之前会对
  • C语言带参#define个人理解

    之前接触带参 define比较少 xff0c 这几天 查阅stm32官方固件库 xff0c 看到以下代码有点懵 xff1a define IS GPIO ALL PERIPH PERIPH PERIPH 61 61 GPIOA PERIPH
  • C语言:#define详解

    define定义标识符 语法 xff1a define name stuff tips xff1a 我们在define定义标识符的时候 xff0c 不建议在后面加上 xff1b xff0c 这样很容易出问题 比如说在以下的情况中 xff1a
  • const与define的区别

    1 define是预编译指令 xff0c const是普通变量的定义 xff0c define定义的宏是在预处理阶段展开的 xff0c 而const定义的只读变量是在编译运行阶段使用的 2 const定义的是变量 xff0c 而define
  • 关于C++中的#define

    include lt iostream gt using namespace std define ADD x y x 43 y 试卷上是减号 xff0c 本人觉得是加号 int main int m 61 3 int n 61 4 m 4
  • C++中#define和const的区别

    一 define是预处理指令 xff08 pre processor directive xff09 而const是关键字 define用于给一些值定义名称 字符串 xff0c 这样定义的字符串在C C 43 43 中称为宏定义 xff0c
  • c++ #define 用法

    1 用于表示将两个参数连在一起 xff0c 其中宏的 前后空格会被省略 define CONNA a b a b define CONNB a b a b int main string a 61 CONNA 34 one 34 34 tw
  • C语言--符号常量

    在C语言中 可以用一个标识符来表示一个常量 称之为符号常量 其特点是编译后写在代码区 不可寻址 不可更改 属于指令的一部分 一 符号常量定义用 define 符号常量在使用之前必须先定义 其一般形式为 形式为 define 标识符 常量 e
  • #define宏定义详解

    define宏定义 1 常规用法 无参宏 define PI 3 1415926 define EN 1e5 定义指数1 10e5 cout lt
  • 数字电路设计之verilog的define和parameter

    1 语法定义 parameter xx yy define xx yy 注 句尾无分号 2 作用范围 parameter 作用于声明的那个文件 define 从编译器读到这条指令开始到编译结束都有效 或者遇到 undef命令使之失效 后来我
  • VC++实用宏定义

    前言 在日常的编程工作中 常常定义一些实用的宏方便调用 该文章将收集一些常用的宏供大家参考 欢迎大家讨论和添加 指针释放 最常用的就是指针的安全释放 对应new的释放 ifndef ReleasePtr define ReleasePtr

随机推荐

  • 10月28日考试解题报告

    考试中的心路历程 说实话第一道题和第三道题真的是水题 xff0c 然鹅我只搞到了100分 xff0c 感觉有些亏 xff0c 最后一题看错了题目 xff0c 导致我的思路开始各种螺旋 xff0c 当其他人都为第二题思考的时候 xff0c 我
  • 10月30日解题报告

    做题思路 第一题表示根本没有想到是线段树这种东西 xff0c 结果看到题解的时候 内心是崩溃的 xff0c 看了线段树还是得多练练 xff0c 第二题是dp xff0c 算是简单 xff0c 但是自己没有想到还是很伤 xff0c 也还是要多
  • C++ 获取string字符串长度的三种方法

    1 用string的成员方法length 获取字符串长度 length 比较直观 xff0c 表示的就是该字符串的长度 include lt string gt include lt iostream gt using namespace
  • sublime text3 搭建python环境

    1 python下载 python安装文件下载 2 安装easy install 方法是下载ez setup py后 xff0c 在cmd下执行 pythonez setup py xff0c 即可自动安装setuptools window
  • C++ 字符串指针和字符串指针数组详解

    C 43 43 处理字符串有两种方式 xff0c 即 xff1a 指针方式和数组方式 数组方式 xff1a char a 61 34 HelloWorld 34 指针方式 xff1a const char s 61 34 HelloWorl
  • 【C++笔记】关于push_back(vector<int>());

    vector lt vector lt int gt gt vec vec push back vector lt int gt vec back push back vec n push back 今天在刷leetcode题的时候见到如上
  • C++ const用法总结

    const 是constant的简写 xff0c 是C 43 43 中极为常见且重要的关键字 xff0c 主要功能是设置某些参数不可修改 xff0c 今天对其用法进行总结记录 一 在变量中的用法 对变量进行修饰是const最基本的用法 xf
  • C++ 函数指针以及对void*(* func)(void *)的解读

    1 函数指针 我们知道调用一个函数的时候可以给其传递参数 xff0c 这个参数可以是变量 xff0c 也可以是变量的引用或者指针 那如果想传递另一个函数可以做到吗 xff1f C提供了函数指针这一用法来完成这个需求 函数在内存中是占据一片空
  • 线程同步之互斥锁

    1 问题 单线程执行任务的场景通常是简单不易出错的 xff0c 但是多线程执行任务时 xff0c 由于线程对于内存空间的共享特性 xff0c 在并发执行时却会产生一些意料之外的错误 如下列程序 xff1a include 34 unpthr
  • C++知识点梳理(1)

    C 43 43 程序由一个或者多个被称为函数的模块组成 和函数从main函数 xff08 全部小写 xff09 开始执行 xff0c 所以main函数必不可少 函数头指向函数的返回值 xff08 如果有函数头 xff09 的类型和函数期望通
  • 串口扩展研究

    串口扩展研究 曾几何时 xff0c 鼠标键盘还是PS 2接口 xff0c 在向USB过渡过程中会有一些 USB to PS 2 神器出现 当主设备 xff08 电脑 xff09 和从设备 xff08 鼠标键盘 xff09 都配标准的USB接
  • cmake 工具 三 add_libary, set_target_properties,target_link_libary,link_directories, link_libary

    一起通过一个例子学一下 add libary xff0c set target properties xff0c link libary xff0c target link libary 四个命令 首先创建如下的文件 xff1a 其中 bu
  • ESP32-C3入门教程 蓝牙篇①——基于Blufi 的 WiFi 智能配网

    文章目录 一 前言 二 WiFi配网方式 三 快速运行 四 运行效果 五 程序流程 精简 5 1 WiFi 初始化 5 2 BLE 初始化 5 3 WiFi 回调函数 5 4 BLE 回调函数 5 5 Blufi 回调函数 5 6 流程图
  • FreeRTOS STM32 线程创建失败,单步运行一看才发现是内存不够

    文章目录 一 FreeRTOS线程创建失败二 失败的解决方法三 成功的解决方法 一 FreeRTOS线程创建失败 今天用STM32板子跑一个测试demo xff0c 结果一上车就翻车 一个简简单单的线程起不来 断点进不去 xff0c 单步运
  • HTML5 播放器

    暂存一些HTML5播放器的资料 xff0c 慢慢消化 使用 HTML5 技术播放视频 使用 Clear Key 加密 MP4 视频并播放 Encrypted Media Extensions An introduction to Encry
  • ESP32-C3入门教程 蓝牙篇③——基于微信小程序和Esp Blufi实现 WiFi配网

    基于微信小程序和Esp Blufi实现 WiFi配网 文章目录 一 前言 二 软件框架 三 软件流程 四 API介绍 五 全部源码 一 前言 本文基于VS Code IDE进行编程 编译 下载 运行等操作 基础入门章节请查阅 ESP32 C
  • 路由器重温——接口配置与管理1

    路由器的接口相对于交换机接口来说最大的特点就是接口类型和配置更为复杂 xff0c 一般可以把路由器上的接口分为三大类 xff1a 一类是用于局域网组网的LAN接口 xff0c 另一类是用于广域网接入 互联的WAN接口 xff0c 最后一类可
  • 路由器接口配置与管理——1

    路由器的接口相对于交换机来说最大的特点就是接口类型和配置更为复杂 xff0c 一般吧路由器上的接口分为三大类 xff1a 一类用于局域网的LAN接口 xff0c 一类用于广域网接入 互联的WAN接口 xff0c 最后一类可以应用于LAN组网
  • 使用A*算法寻找路径

    使用A xff0a 算法首先需要将地图分成一个个块 xff0c 每个块称为一个节点 算法主要是维护两张表 openList和closeList openList用来保存待考察的节点 xff0c closeList用来保存不需要考察的节点 算
  • 关于C++中的#define

    include lt iostream gt using namespace std define ADD x y x 43 y 试卷上是减号 xff0c 本人觉得是加号 int main int m 61 3 int n 61 4 m 4