C语言 #运算符 - C语言零基础入门教程
目录
- 一.#运算符简介
- 二.#运算符使用
- 三.猜你喜欢
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门
一.#运算符简介
在 C
语言关于 define
的文章中我们有介绍到:凡是以 # 开头的均为预处理指令,预处理又叫预编译。预编译不是编译,而是编译前的处理。这个操作是在正式编译之前由系统自动完成的。
/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 #运算符
//@Time:2021/07/10 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/#include<stdio.h>#define FUNC(a,b) printf("a+b=%d \n",((a)+(b)));int main()
{FUNC(1,5);FUNC(100,500);return 0;
}/*
输出:
a+b=6
a+b=600
*/
这并不是我们想要的结果,如果我们想得到的结果是:
1+5=6
100+500=600
可能比较聪明的小伙伴会说,这个简单:
#define FUNC(a,b) printf("%d+%d=%d \n",(a),(b),((a)+(b)));
除了这种方式,我们需要额外介绍一个方式:#
运算符
C
语言允许在字符串中包含宏参数,在类函数宏(带参宏)中,#
号作为一个预处理运算符,可以把记号转换成字符串。
例如,如果
A
是一个宏形参,那么 #A 就是转换为字符串A
的形参名。这个过程称为字符串化(stringizing
)。
二.#运算符使用
/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 #运算符
//@Time:2021/07/10 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/#include<stdio.h>//#define FUNC(a,b) printf("#a+#b=%d \n",(a)+(b)); //错误写法#define FUNC(a,b) printf(#a "+" #b "=%d \n",(a)+(b)); //正确写法int main()
{FUNC(1,5);FUNC(100,500);return 0;
}/*
输出:
1+5=6
100+500=600
*/
注意:
#define FUNC(a,b) printf("#a+#b=%d \n",(a)+(b)); //错误写法
#define FUNC(a,b) printf(#a "+" #b "=%d \n",(a)+(b)); //正确写法
三.猜你喜欢
- C 语言 数组下标越界和内存溢出区别
- C 语言 指针声明和定义
- C 语言 指针 p++ / p–
- C 语言 p++/§++/_(p++)/_p++
- C 语言 使用指针遍历数组
- C 语言 指针和数组区别
- C 语言 指针数组和数组指针区别
- C 语言 空指针 NULL
- C 语言 void 指针
- C 语言 野指针
- C 语言 函数值传递和址传递
- C 语言 函数缺省参数
- C 语言 函数不定长参数
- C 语言 函数指针
- C 语言 指针函数
- C 语言 回调函数 callback
- C 语言 typedef
- C 语言 define 定义常量
- C 语言 define 防止头文件重复包含
- C 语言 #pragma once
- C 语言 #include <> 与 #include “” 区别
- C 语言 const 修饰变量
- C 语言 const 修饰指针
- C语言 const 修饰函数
- C 语言 const 修饰函数参数
- C 语言 const 和 define 区别
- C 语言 #运算符
未经允许不得转载:猿说编程 » C 语言 #运算符
C语言 #运算符 - C语言零基础入门教程相关推荐
- C语言 const 修饰函数参数 - C语言零基础入门教程
C语言 const 修饰函数参数 - C语言零基础入门教程 目录 一.const 简介 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数 ...
- 视频教程-Python零基础入门教程-Python
Python零基础入门教程 从2012年从事互联网至今有7年软件编程经验,曾任职国内北京互联网公司,中南林业大学授课Python 现任逻辑教育Python课程负责人,精通Python语言,精通人工智能 ...
- C++零基础入门教程:基础篇(一)
前言 嘿嘿,我叕来啦─=≡Σ(((つ•̀ω•́)つ!别问我为什么突然变成了零基础入门教程(一),因为前面那三篇都是基础的不能在基础的教程了.(其实是因为顺序乱了,而且那时候没有单独弄一个专栏,后面我会 ...
- Python零基础入门教程( 快速入门)
前言 学无止境,无止境学. 今天要给大家分享的是<Python零基础入门教程01 快速入门>,这是一个系列的教程,从零基础到项目实战.在本教程中,我会给大家介绍Python入门的一些基础知 ...
- 周易零基础入门教程(一)
感觉这几篇简单的教程很不错哦.大概由于以前看过这类书籍,估计也是很零散的,所以我读这几篇感觉很亲切,没啥难点,一口气读完了,醍醐灌顶.接下来就是自己慢慢琢磨的节奏了! 周易零基础入门教程 作者:江南易 ...
- python怎么输出浮点数_python 零基础入门教程第 2 章:基本数据类型 (一)
一.什么是数据类型 编程语言通过一些复杂的计算机物理底层机制,创造不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的存储和计算. 每种编程语言都会有一些基本的数据类型用来表示现实世界中的 ...
- SEO零基础入门教程(外链的发布和软文编写)
seo的作用是众所周知的,对网站进行seo优化,可以给网站带来大量的搜索引擎流量.但是想要做好网站优化也有难度,尤其是对于seo新手来说,因为缺乏理论和实战,所以seo新手需要多加练习.那么具体seo ...
- 九宫怎么排列和使用_剪映零基础入门教程第三十七篇:一学就会系列之九宫格小程序配音...
很多玩儿抖音的朋友都看过九宫格视频,但是并不是每个玩抖音的人都会制作这个九宫格视频,实际这个需要借助小工具来帮忙,而常用抖音的朋友们会对剪映更加熟悉一些,且九宫格视频在剪映内的制作方式则比较简单.那么 ...
- 计算机pscs6教程,photoshop CS6零基础入门教程
<photoshop CS6零基础入门教程>针对零基础学员开设,以教案和实际操作演示相结合的方式,详细地介绍adobe photoshop cs6的各项工具和命令.由浅入深.循序渐进地全面 ...
- finereport自学教程_办公物语丨Finereport零基础入门教程,你不可缺少的报表神器...
原标题:办公物语丨Finereport零基础入门教程,你不可缺少的报表神器 ⌛ 小办又来了,快,搬好你的小板凳. 今天小办要着重讲一下 之前推文里提到过的制表神器. 当你逐渐发现Excel不能满足你的 ...
最新文章
- Git 错误提交后该如何回滚操作
- Android selinux权限修改
- 关于c中的inline
- 如何参与github上的开源项目?
- eclipse中导入spring-boot框架的jar包方法
- 【剪枝算法】通过网络瘦身学习高效的卷积网络Learning Efficient Convolutional Networks through Network Slimming论文翻译
- tcp/ip知识点的总结
- zabbix监控suse linux,SuSE 系统之部署 Zabbix 监控服务
- 查看eclipse 内存使用情况
- chrome稍后阅读功能reading list
- 软考倒计时7天:题目书中的易混点
- Spring MVC DispatcherServlet改造为 CSE RestServlet 常见问题汇编
- 《机器视觉算法与应用》第3章 机器视觉算法之形态学——学习笔记
- HelloWord你的第一个rainmeter皮肤
- 机器学习中的七种分类算法
- opencv convertTo函数
- ECMAScript 2022 正式发布
- 2017 携程 笔试编程题 1
- 【IDEA 教程系列第 13 篇】idea 快速搜索类、文件
- FreeCAD-01软件下载安装