社区
非技术区
帖子详情
define一问!
waterluo2003
2003-10-16 05:48:44
你好,有一个关于define的题目如下:要求的是输出结果,按常理,输出是"2",可在vc6.0上运行后是"-2";
但如果改成(k-doc(k-1))时,才会是"2",
为什么呀,加一个括号起了什么作用呢?
//////////////*
#include <iostream.h>
#define doc(x) x-1
void main(){
int k=99;
cout<<k-doc(k-1)<<endl;
}
...全文
51
3
打赏
收藏
define一问!
你好,有一个关于define的题目如下:要求的是输出结果,按常理,输出是"2",可在vc6.0上运行后是"-2"; 但如果改成(k-doc(k-1))时,才会是"2", 为什么呀,加一个括号起了什么作用呢? //////////////* #include #define doc(x) x-1 void main(){ int k=99; cout<<k-doc(k-1)<<endl; }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
waterluo2003
2003-10-16
打赏
举报
回复
唉,谢谢
zfxxx
2003-10-16
打赏
举报
回复
应是#define doc(x) (x)-1
blue_coco
2003-10-16
打赏
举报
回复
宏只是做代码替换。
k-doc(k-1)展开为
k-k-1-1 = -2;
改
#define doc(x) (x)-1
Ceph入门到实战
SDS(英文:Software
Define
Storage)软件定义存储作为新基建(云计算中基础设施建设)重要的一环,Ceph作为未来统一软件定义存储系统,提供了RBD块存储,RGW对象存储和CephFS文件存储接口的接入,本课程结合在企业实践由浅入深多面剖析Ceph存储,一个分为三篇:基础篇、进阶篇和高阶篇,基础篇介绍Ceph的基础概念,Ceph分布式集群部署,RBD块存储的使用,RGW对象存储使用,CephFS文件存储的使用;进阶篇介绍Ceph运维中常见的操作,包括集群扩容,集群管理,CRUSHMAP定制,RBD快照克隆,RBD增量备份与恢复,RGW高可用集群;高阶篇介绍Ceph和kubernetes集成,Ceph与KVM集成,Ceph与openstack云平台集成,SDK开发等内容。备注:本课程以Ceph官方文档为主,不提供资料下载。【【课程大纲】
#
define
中定义函数可以使用另一个#
define
定义的变量吗?
我们都知道#
define
可以在程序预编译期间对代码进行替换,前两天遇到了一个问题,问预定义的函数中是否可以使用预定义的变量,问题描述可能略微复杂,详细内容如下: #include <stdio.h> #
define
N 3 #
define
M N*2 #
define
Add(n) N+n int main() { printf("The add val is: %d\n",Add(5)); printf("The m val is: %d\n", M); return
define
的作用
define
是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。 1 #
define
命令剖析 1.1 #
define
的概念 #
define
命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。 该命令有两
define
趣谈——“#
define
false true“ 和 “#
define
true false“
今天在“某脉app”上看见一个有点幽默的帖子,在这个“脉某app”上的楼主问:“怎样才能向别人证明你精通C语言?”,一个人回答:“#
define
false true”。好一个“黑即是白”。但是当我延申测试的时候,却发现了在
define
的使用上我一直以来的误区。...
c语言三问,《iOS 三问》--#
define
用法大全
OC 的 #
define
命令与在 C 语言中的非常相似,是一个预处理命令,其作用是在编译之前对你的代码进行预处理,使用在
define
中定义的字符串 value 来替换你要替换的字符串 key, 其形式如:#
define
使用格式1#
define
KEY value这里要注意几点:#
define
预处理命令 顾名思义,是在编译前工作的,所以其优先高于各种编译期间指令,而且享受不到编译器强大的错...
非技术区
15,440
社区成员
58,166
社区内容
发帖
与我相关
我的任务
非技术区
C/C++ 非技术区
复制链接
扫一扫
分享
社区描述
C/C++ 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章