关于C语言define宏定义字符串常量

关于C语言define宏定义字符串常量问题由来 本人一直以为宏对于字符串的处理也是直接在预处理时进行替换 但是最近在工作中遇到了字符串宏 1 的情况 于是彻底的颠覆了以前的思维 于是乎进行测试验证得出以下结果 测试 includestdio h defineLUOJIA luojian intmain printf s n LUOJIAN 1

1.问题由来:

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

2.测试代码

/*测试*/ #include 
  
    #define HELLO "hello" int main() { printf("%s\n",HELLO+1); return 0 ; } 
  

3.现实的输出结果:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201078.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午9:59
下一篇 2026年3月20日 上午10:00


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号