社区
数据结构与算法
帖子详情
确定下面宏定义中的问题
jokerman
2001-02-05 11:55:00
在C语言中,下面的宏定义存在什么问题,请告知,谢谢:
#define ISDIGIT(C) ((c>='0')&&(c<='9'))?1:0
...全文
78
2
打赏
收藏
确定下面宏定义中的问题
在C语言中,下面的宏定义存在什么问题,请告知,谢谢: #define ISDIGIT(C) ((c>='0')&&(c<='9'))?1:0
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wing_pn
2001-02-06
打赏
举报
回复
没什么大问题,tc 下
#define ISDIGIT(c) ((c>'0')&&(c<'9'))?1:0 /* 注意c字符的大小写*/
*/#include "stdio.h"
main()
{char a='3',b='a';
int q,w;
q=ISDIGIT(a);w=ISDIGIT(b);
printf("\n %d ,%d",q,w);
}
!!!假如有问题:
1.#define ISDIGIT(C) ((c>='0')&&(c<='9'))?1:0
你ISDIGIT(C)的'C'是大写,但实现是小写,c分大小写的,看我的程序
2.假如你是判断是否数字的话, <, > 应为<=, >=
3.假如用q=ISDIGIT(++a)之类的话,将会有不想出现的结果,最好用C++的inline函数
ed9er
2001-02-06
打赏
举报
回复
#define ISDIGIT(c) ( (c)>='0' && (c)<='9' )
?1:0可以省略,就算不省略,也应该加个括号
C语言
中
的
宏定义
简单
宏定义
简单的
宏定义
有如下格式: [#define指令(简单的宏)] #define 标识符替换列表 替换列表是一系列的C语言记号,包括标识符、关键字、数、字符常量、字符串字面量、运算符和标点符号。当预处理器遇到一个
宏定义
时,会做一个 “标识符”代表“替换列表”的记录。在文件后面的内容
中
,不管标识符在任何位置出现,预处理器都会用替换列表代替它。 不要在
宏定义
中
放置任何额外的符号,否则它们会被作为替换列表的一部分。一种常见的错误是在
宏定义
中
使用 = : #define N = 100 /*** .
C语言——
宏定义
一.预处理 编译一个C语言程序的第一步骤就是预处理阶段,这一阶段就是宏发挥作用的阶段。C预处理器在源代码编译之前对其进行一些文本性质的操作,主要任务包括删除注释、插入被#include进来的文件内容、定义和替换由#define 定义的符号以及
确定
代码部分内容是否根据条件编译(#if )来进行编译。”文本性质”的操作,就是指一段文本替换成另外一段文本,而不考虑其
中
任何的语义内容。宏仅仅是在C预处理阶段的一种文本替换工具,编译完之后对二进制代码不可见 二.
宏定义
用法 ①宏常量 我们最常使用到.
宏定义
的用法总结
概述
宏定义
是一个给定名称的代码片段,当我们使用这个名称的时候,预处理器会自动将其替换为
宏定义
的内容。
宏定义
有两种,一种是object-like
宏定义
,在使用的时候相当于一个数据对象;另一种是function-like,在使用的时候就像调用函数那样。
宏定义
的内容可以是任意的,甚至是C关键词(不可以的内容特例[预处理命令]defined,[c++ named operators]and_eq,bitand,bitor,compl,not,not_eq,or,or_eq,xor,xor_eq) 宏展开会
C语言
宏定义
、宏替换
1.宏替换的格式 #define 名字 替换文本 后续所有出现名字的地方都将被替换为替换文本。 替换文本可以是任意的,例如 #define forever for(;;) //无限循环 该语句为无限循环定义了一个新名字。 2.带参数的
宏定义
宏定义
可以带参数,这样可以对不同的宏调用使用不同的替换文本。例如,下列
宏定义
了一个宏max: #define max(A,B) (A>B?A:B) 再例如,下列
宏定义
了一个可交换两个变量值的宏swap(参数t为数据类型): #define swap(
C语言
宏定义
详解
C语言
宏定义
详解
数据结构与算法
33,007
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章