测试一下你对define语句的理解
2009-11-16 21:17
274 查看
下面这个程序输出什么
先自己想想看。
我在gcc4.3下的输出结果是
12
f(1,2)
解释一下:
由于#define语句是在编译的 时候确定的,所以g(f(1,2))是在编译的时候,把g(f(1,2))里的f(1,2)变成了字符串f(1,2),h(f(1,2))在编译的时候变成g(12)--->12。
注:#x是把x变成“x“,##是连接两个字符串
#include <stdio.h> #define f(a,b) a##b #define g(a) #a #define h(a) g(a) int main() { printf("%s/n",h(f(1,2))); printf("%s/n",g(f(1,2))); return 0; }
先自己想想看。
我在gcc4.3下的输出结果是
12
f(1,2)
解释一下:
由于#define语句是在编译的 时候确定的,所以g(f(1,2))是在编译的时候,把g(f(1,2))里的f(1,2)变成了字符串f(1,2),h(f(1,2))在编译的时候变成g(12)--->12。
注:#x是把x变成“x“,##是连接两个字符串
相关文章推荐
- 测试一下你对IP地址的理解能力
- 测试一下你对IP地址的理解能力
- 测试一下你对sizeof的理解
- 测试一下你对IP地址的理解能力,大家先不看题后的解答,看自己能做出多少题。
- 测试一下
- 虽然我还没有测试过,但是我觉得有必要收藏一下,谢谢原创者
- 测试相关理解(三)—边界值分析方法
- 软件测试行业的个人理解 6 - 浅谈自动化测试原理
- SQL server语句测试
- 理解collate Chinese_PRC_CI_AS ,请看实例:sql语句中如何识别字符串中的中文逗号的问题
- 一个老测试员对软件测试理解(需要掌握哪些知识)
- Spring Boot 1.4测试的简单理解
- 【C语言 C++】简单keywordRegister,Const,Static,Volatile,typedef,Define的理解
- 开通了!测试一下。赫赫
- 测试一下Markdown
- 理解Python的With语句
- 我所理解的测试策略——功能用例设计策略
- 从生产线到生产岛:理解敏捷开发中的设计与测试活动
- 测试相关理解(五)错误推测法
- 白盒测试 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖