当前位置: 首页 > article >正文

【刷点笔试面试题试试水】#ifndef和#ifdef有什么区别?

大家好,这里是国中之林!
❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看←

问题:

在这里插入图片描述

解答:
在这里插入图片描述

#include <iostream>
using namespace std;

#define DEBUG

int main()
{
	int i = 0;
	char c;

	while (1)
	{
		i++;
		c = getchar();
		if (c != '\n')
		{
			getchar();
		}
		if (c == 'q' || c == 'Q')
		{
#ifdef DEBUG
			printf("we got:%c,about to exit.\n", c);
#endif // DEBUG
			break;
		}
		else
		{
			printf("i=%d", i);
#ifdef DEBUG
			printf(", we got:%c", c);
#endif // DEBUG
			printf("\n");
		}
	}
	return 0;
}

注意:

  • #ifndef通常用于防止头文件的重复包含(头文件保护)。
  • #ifdef用于根据某些宏的定义来选择性地编译代码。

http://www.kler.cn/news/331868.html

相关文章:

  • 低代码革命:重塑工业互联网的未来版图
  • CSS 的color-adjust 属性,是给打印机节省墨水的属性
  • 开发能够抵御ICS对抗性攻击的边缘弹性机器学习集成
  • sbb-classes 元素
  • 【重学 MySQL】五十六、位类型
  • Leetcode: 0081-0090题速览
  • 信息学奥赛一本通 1416:【17NOIP普及组】棋盘 | 洛谷 P3956 [NOIP2017 普及组] 棋盘
  • 从认识String类,到走进String类的世界
  • fNIRS光极排布——基于fNIRS Optodes’ Location Decider (fOLD)工具包
  • 用户登录与信息管理:实现小程序登录与用户信息存储
  • 民峰:助力投资者实现财务自由
  • 大语言模型入门(三)——提示词编写注意事项
  • 查缺补漏----I/O中断处理过程
  • 什么是大语言模型的上下文窗口
  • 记一次vue-cli老项目的打包时长优化
  • 操作系统的组成及层次模型
  • C(九)while循环 --- 军训匕首操情景
  • c++ arrayfire库 矩阵分块
  • SUP-NeRF-ECCV2024数据集: 单目3D对象重建的新突破
  • kafka监控平台Kafdrop:使用记录