今天写到一个题目:

#include <stdio.h>#define SWAP(T,A,B){\T temp;\temp = A;\A = B;\B = temp;\
}int main()
{int arr[] = {3,4,5,6,7,8,9};int j;int i = 2;SWAP(int, i, arr[i]);for(j=0; j<7; j++)printf("%d ", arr[j]);getchar();return 0;
}

对于宏定义后面加斜杠的说法主要解释是仅仅充当一个回车键的效果,如果不这么写,就会出现一些奇葩的错误,就像下面2种情况一样,深有体会。

1.不加斜杠的错误

2.括号不紧挨着define的错误

这种情况就算加了斜杠也没用,照常出错,还解决不了问题。

宏定义的大括号以及斜杠相关推荐

  1. TOY++美私奢玩:TEAx正茶链盟 +雅贡臻品登陆台北!跨界斜杠派展

    据ArtW!NG与GEEKBANK报道,12月20日ArtFin艺术飯与TEAx正茶链盟(运作于科技金融生态网络4COO之上)携收藏界美学.声学.艺术等上海代表团参与"本可触及"艺 ...

  2. C语言中的比较大小的宏定义与反斜杠符号 ' \ '

    以下是一个写有比较大小的宏定义,其中每一行的末尾有有一个反斜杠符号 ' \ ' ,其代表的意思本行要写的内容还未结束,是连接这行与下一行的纽带.因为宏定义的内容是要编写在同一行才会生效,隔行的话语句就 ...

  3. C语言宏定义的几个坑和特殊用法

    总结一下C语言中宏的一些特殊用法和几个容易踩的坑.由于本文主要参考GCC文档,某些细节(如宏参数中的空格是否处理之类)在别的编译器可能有细微差别,请参考相应文档. 宏基础 宏仅仅是在C预处理阶段的一种 ...

  4. 【转自猫大】宏定义的黑魔法 - 宏菜鸟起飞手册

    宏定义在C系开发中可以说占有举足轻重的作用.底层框架自不必说,为了编译优化和方便,以及跨平台能力,宏被大量使用,可以说底层开发离开define将寸步难行.而在更高层级进行开发时,我们会将更多的重心放在 ...

  5. 关于宏定义的一些使用方法和注意点总结

    我在写代码的时候喜欢使用宏,不仅使代码看起来整洁,而且用好了还能极大的减轻编码的工作量,但是如果 使用不当的话,出了问题查找起来就就非常的难了,下面的总结大部分是从网上看到的,也有一些是我自己在工作中 ...

  6. linux c 宏定义 #define _GNU_SOURCE 含义

    今天我必须要使用 basename 函数,使用man手册查询了一下这个函数 man 3 basename 发现一个奇怪的信息 名称 basename,dirname-分析路径名组件 简介 #inclu ...

  7. #define宏定义中的#,##,@#,\ 这些符号的神奇用法

    C/C++ 宏命令的神奇用法. 先看下面三条语句: #define Conn(x,y) x##y #define ToChar(x) #@x #define ToString(x) #x 1 2 3 ...

  8. 【⚠️阴沟里翻船,这题都做错了!⚠️】C语言宏定义

    前言 快答题!直接上题,10秒之内报出a的值是多少! #include<stdio.h> #define SQR(x) x*x int main() {int a = 10, k = 2, ...

  9. #define宏定义中的#,##,@#,\

    先看下面三条语句: ? 1 2 3 (1)#define Conn(x,y) x##y (2)#define ToChar(x) #@x (3)#define ToString(x) #x (1)## ...

  10. c语言 #define dpath .exe是什么意思,C语言宏定义#define

    姓名:吕彬 学号:1613014035 [嵌牛导读]#define 宏定义是个演技非常高超的替身演员,但也会经常耍大牌的,所以我们用它要慎之又慎.它可以出现在代码的任何地方,从本行宏定义开始,以后的代 ...

最新文章

  1. 7.1 pdo 宝塔面板php_小白入门基础傻瓜式操作PHP面板安装使用_Bt宝塔面板
  2. 企业网站如何具备亲和力?
  3. mysql linux版安装
  4. 代码片段--批量生产库以及可执行文件的依赖关系
  5. 20179214 《网络攻防实践》第五周学习
  6. java 拆箱 类型不对,Java基本类型于对象类型的拆箱和装箱
  7. 灰度实战(四):Apollo配置中心(4)
  8. Monkey King
  9. 计算机网络-扩展路由器
  10. laravel访问路由在nginx服务器上无法处理
  11. 抽象工厂模式简单实例
  12. python 字符串分割方法_Python字符串分割方法总结
  13. 文献标识码、文献载体类型标识
  14. 计算机常见的运算符,常见运算符
  15. 【考题·数学】矩阵游戏(数学推导)
  16. linux man手册返回错误 man: command exited with status 159
  17. (分治法)查找最大和次大元素
  18. 彩云在南,本命年在北(记云南之旅)
  19. 嵌入式工程师如何提高工作效率
  20. 1月14日科技资讯|京东回应「被薅 7000 万、项目组全体开除」;微信朋友圈屏蔽支付宝集五福;MySQL 8.0.19 发布

热门文章

  1. vlan间路由的三种方法
  2. 2019年度优秀安全内容合集
  3. AJax 遍历json对象数组 和Jstl遍历以及json解决日期转换
  4. 安装企业级的dokuwiki文档系统
  5. 实对称矩阵 二次型 合同 相似对角化
  6. 计算机视觉知识点-人脸对齐
  7. 牛客网Python笔试技巧、单行多行输入方法以及代码调试技巧
  8. java 文件比对(四)-- 使用 diffutils
  9. 【软件设计师中级】设计模式之原型模式学习笔记(c++)
  10. 深度网络自适应DCC算法