首页 > 编程知识 正文

c语言中宏定义语句define的作用有哪些,用define定义字符串

时间:2023-05-04 11:05:44 阅读:183077 作者:4836

1.问题由来:

本人一直以为宏对于字符串的处理也是直接在预处理时进行替换;但是最近在工作中遇到了字符串宏+1的情况;于是彻底的颠覆了以前的思维;于是乎进行测试验证得出以下结果。

2.测试代码 /*测试*/#include<stdio.h>#define HELLO "hello" int main() { printf("%sn",HELLO+1); return 0 ; } 3.现实的输出结果:

“ello” ;
实际上,宏定义的字符串常量在预编译的时候把HELLO替换成字符串常量(“hello”);所以HELLO+1可以理解为“hello”+1 即常量首地址+1,故输出“ello”.

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。