导航:首页 > 源码编译 > 宏定义编译后不变

宏定义编译后不变

发布时间:2025-09-18 14:09:53

㈠ c语言中宏替换时先求出实参表达式的值,然后再带入形参中运算求值,对不对啊为什么啊

不是这样的,宏替换是在预编译时将整个宏的表达式进行替换再进行编译的,举个例子讲如果你定义了如下宏:
#define fun(a) (a*a)
下面用的时候
int main()
{
int i = 5, j = 4;
int k = fun(i+j)
}
那么在预编译时首选会先将fun(i+j)替换成 i+j*i+j,即此时计算的时候会先算乘法i*j,那么k的值最终就是5+4*5+4 = 29,而不是(i+j)*(i+j)=81,当然如果你想实现后一种结果,则宏定义方法应该是下面这样的
#define fun(a) ((a)*(a))

相互学习,希望对你有帮助,不懂的话,再跟我讨论吧

㈡ 关于C语言中内置宏__DATE__和 __TIME__

这两个就是字符串常量,当字符串用就行。

__DATE__:当前的编译日期
__TIME__:当前编译时间;

#include<stdio.h>
#include<string.h>
intmain()
{
printf("%s,%s ",__DATE__,__TIME__);
printf("长度DATE=%d,TIME=%d ",strlen(__DATE__),strlen(__TIME__));
return0;
}

阅读全文

与宏定义编译后不变相关的资料

热点内容
编程珠玑笔记 浏览:279
结束命令行 浏览:268
力学原理pdf 浏览:734
宏定义编译后不变 浏览:404
如何搞免费服务器 浏览:211
神经系统pdf 浏览:672
如何查看服务器上的数据库服务器 浏览:195
压缩机型号v代表什么 浏览:57
旅游类源码 浏览:867
电脑服务器类型怎么设置 浏览:235
pdf炒股 浏览:791
服务器地址缺少端口号什么意思 浏览:535
下载需要解压的小说用哪个软件 浏览:539
广东分布式服务器云主机 浏览:588
服务器忙打不开怎么办 浏览:20
tif压缩软件 浏览:418
程序员那么可爱陆漓上班第1天 浏览:952
macbookair自带什么app 浏览:706
如何关了加密的软件 浏览:587
程序员p2p待遇 浏览:923