社区
数据结构与算法
帖子详情
确定下面宏定义中的问题
jokerman
2001-02-05 11:55:00
在C语言中,下面的宏定义存在什么问题,请告知,谢谢:
#define ISDIGIT(C) ((c>='0')&&(c<='9'))?1:0
...全文
56
2
打赏
收藏
微信扫一扫
点击复制链接
分享
下载分享明细
分享
举报
写回复
2 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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语言_
宏
定义
C预处理器在源代码编译之前对其进行一些文本性质的操作,主要任务包括删除注释、插入被#include进来的文件内容、
定义
和替换由#define
定义
的符号以及
确定
代码部分内容是否根据条件编译(#if )来进行编译。...
【C语言进阶】C语言带返回值的
宏
定义
本文主要介绍了在C语言
中
,如何使用
宏
定义
一个带返回值的
宏
函数!
c语言
宏
定义
可变参数,C语言可变参数
宏
定义
方法
http://blog.csdn.net/skyflying2012/article/details/384367112014在GNU C
中
,
宏
可以接受可变数目的参数,就象函数一样,例如:12#definepr_debug(fmt,arg...) \printk(KERN_DEBUGfmt, ##arg)用可变参数
宏
(variadic ...
宏
定义
为何使用do-while语句
最近在阅读开源代码的过程
中
,发现
宏
定义
中
大量使用了do-while语句。有时感觉这是不是多此一举呢。于是去网上查阅资料就有了本篇博客。 最近看到的代码
中
的
宏
定义
结构如下: #define MARCO_FUN() do{\ Function();...
C++
宏
定义
详解
#define是C语言
中
提供的
宏
定义
命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,...
发帖
数据结构与算法
加入
微信扫一扫
点击复制链接
分享社区
下载分享明细
3.2w+
社区成员
3.5w+
社区内容
数据结构与算法相关内容讨论专区
社区管理员
申请成为版主
帖子事件
创建了帖子
2001-02-05 11:55
社区公告
暂无公告