博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
A C Programming Language Puzzle
阅读量:6496 次
发布时间:2019-06-24

本文共 490 字,大约阅读时间需要 1 分钟。

,本文不是完全翻譯,而是自己吸收過後,在寫下此筆記

Problem

有一變數a=12,b=36,請寫出一個c function/macro,回傳3612且不使用算數運算和字串處理的函式.

Token-Pasting Operator

當擴展## macro時,##會將左右兩邊的符號(token),合併為一個符號(token).

#include 
#define merge(a, b) a##bint main(){ int a = 12; int b = 36; printf("%d ", merge(a, b));}// Output: 1234

Solution

有了Token-Pasting Operator,應該不難想出此題的解答

#include 
#define merge(a, b) b##aint main(){ int a = 12; int b = 36; printf("%d ", merge(a, b));}// Output: 3612

Reference

转载地址:http://fquyo.baihongyu.com/

你可能感兴趣的文章
异常模拟测试 -- 场景抽象及解决方案
查看>>
Gradle之旅-can not find tools.jar问题解决
查看>>
JavaScript_navigator
查看>>
apache配置文件详解
查看>>
linux下echo的使用总结
查看>>
EDM营销学堂:高效提升营销邮件点击率的技巧
查看>>
ORACLE 11G静默安装配置分解
查看>>
为什么大家不相信国产虚拟化技术?
查看>>
华为首提“业务驱动基础架构”(SDI)
查看>>
Word2010使用技巧之一:熟悉功能区
查看>>
Citrix XenDektop 7 实施十 创建License Server
查看>>
RookeyFrame 通用页面 加载数据 原理
查看>>
hbuilder APP服务器端(C#)推送
查看>>
统计c盘的PE文件的个数 (遍历所有文件)
查看>>
大白话Vue源码系列目录
查看>>
EffectKeyMap系列1(Ubuntu)
查看>>
iOS手势
查看>>
Webpack源码基础-Tapable从使用Hook到源码解析
查看>>
【转载】NBU异机恢复oracle
查看>>
魅族mx5详细打开usb调试模式的步骤
查看>>