计算机是怎么读懂C语言的?(中补充)

简介: #undef的作用

如果在写程序的时候,宏目前的功能不满足当前的程序或者不满足当前我们想要得到的效果,但是我们知道,直接修改宏内代码是个不太好的习惯,那有没有办法可以不动我们程序内本身就有的东西,然后修改掉宏实现的内容呢?这里就有一个新的操作符——#undef,它的作用并不是修改一个宏,而是移除,那怎么去使用的?它的语法格式是这样的:

#undef NAME

>- 那现在可以使用一下,看看#undef的功能是不是和我说的是一样的:

#include<stdio.h>#define MAX(A,B) ((A)>(B)?(A):(B))#undef MAXintmain()
{
inta=1;
intb=2;
intc=MAX(a++, b++);
printf("a= %d b= %d c=%d", a, b, c);
return0;
}

image.png

可以看到是有报错的,那现在在编译器眼中,就没有了MAX这个宏,这个时候就可以在写一个MAX的宏来实现我们现在想要实现的内容了,可以用代码试验一下:

#include<stdio.h>#define MAX(A,B) ((A)>(B)?(A):(B))#undef MAX#define MAX(A,B) ((A)<(B)?(B):(A))intmain()
{
inta=1;
intb=2;
intc=MAX(a++, b++);
printf("a= %d b= %d c=%d", a, b, c);
return0;
}

image.png

相关文章
|
2天前
|
算法 数据库 C语言
简单谈谈我参加计算机二级C语言的考试感受
计算机二级c语言主要内容是熟练掌握C语言基础语法,了解常用数据结构和算法,能够使用C语言进行程序设计,编写简单的应用程序。 计算机二级C语言试卷类型: + 选择题 + 程序填空题 + 程序改错题 + 程序设计题 这四个部分组成,其中大题目的分数占60分。
34 0
C4.
|
2天前
|
存储 算法 C语言
关于c语言用计算机语言表示算法
关于c语言用计算机语言表示算法
C4.
18 1
|
6月前
|
存储 C语言
计算机中数据的存储(C语言)
计算机中数据的存储(C语言)
|
2天前
|
Java Unix C语言
在我掉入计算机的大坑并深陷其中时,一门名为“C语言”的编程语言让我沉迷
在我掉入计算机的大坑并深陷其中时,一门名为“C语言”的编程语言让我沉迷
|
2天前
|
存储 算法 Serverless
22年+21年 计算机能力挑战赛初赛C语言程序题 题解
22年+21年 计算机能力挑战赛初赛C语言程序题 题解
23 2
|
2天前
|
存储 算法 测试技术
通过一篇文章让你完全掌握计算机二级C语言的知识点
计算机二级C语言考试是许多计算机科学专业学生及编程爱好者的必经之路。它不仅是对基础编程知识的检验,更是对逻辑思维和问题解决能力的挑战。通过这门考试,考生需要掌握C语言的基本语法、数据类型、控制结构、函数、数组、指针以及文件操作等核心内容。 为了顺利通过计算机二级C语言考试,考生首先需要系统地学习C语言的基础知识。从变量和常量的定义开始,逐步深入到运算符的使用、条件语句和循环语句的应用。在学习过程中,不断通过编写小程序来巩固所学知识,比如计算两个数的和、判断一个数是否为素数等。
126 0
|
2天前
|
数据处理 C语言
【C语言宝库】- 操作符|详解进制转换|计算机小白必备技能(上)
【C语言宝库】- 操作符|详解进制转换|计算机小白必备技能(上)
47 0
|
2天前
|
C语言
论c语言在计算机专业中的重要性
C语言是计算机专业中非常重要的一门编程语言。作为一门高效、灵活的语言,它被广泛应用于操作系统、嵌入式系统和网络编程等领域。在学习计算机专业的过程中,掌握C语言编程能力是至关重要的。它不仅可以帮助学生理解计算机底层原理,还可以为他们以后的职业发展打下坚实的基础。因此,学习和掌握C语言对于计算机专业的学生来说是至关重要的。
57 0
|
10月前
|
存储 编译器 C语言
数据在计算机中的存储——【C语言】
这些基本的内置数据类型以及大小,我们已经在熟悉不过了,接下来我们将C语言中的数据类型进行大致归类。
64 0
|
11月前
|
Java 程序员 C#
【C语言学习-复习_第一课】什么是C语言?什么是计算机语言?
人与人之间交流需要使用语言,中国人和中国人之间使用汉语,其他国家之间的交流也需要使用其他国家的语言,计算机也要进行交流,他们使用哪种语言了?当然有人说使用汉语,呼叫某某某小助手可以帮助我们进行和计算机交流,但是某某某小助手是通过怎样实现的,也是程序员使用中文和计算机对话设计出来的吗?当但不是了。这样的话我们人人都是程序员,人人都是大佬!
49 0