前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言 | 每日基础(48)

C语言 | 每日基础(48)

作者头像
小林C语言
发布2020-09-08 10:33:37
3420
发布2020-09-08 10:33:37
举报
文章被收录于专栏:C语言入门到精通

古代的剑客们与

对手相逢时,无

论对手多么强大,

明知不敌,也要亮出自己的剑!

读者:怎么写一个一般用途的宏交换两个值?

阿一:对于这个问题没有什么好的答案。如果这两个值是整数, 可以使用异或的技 术, 但是这对浮点值或指针却不行, 对同一个值也无能为力。 如果希望这个宏用于任何类型 (通常的目标), 那么它不能使用临时变量, 因为不知道需要什么类型的临时变量 (即使知道也难以找出一个名字), 而且标准 C 也没有提供 typeof 操作符。最好的全面解决方案可能就是忘掉宏这回事, 除非你还准备把类型作为第三 个参数传入。

读者:书写多语句宏的最好方法是什么?

阿一:通常的目标是书写一个象包含一个单独的函数调用语句的宏。这意味着 “调 用者” 需要提供最终的分号, 而宏体则不需要。因此宏体不能为简单的括弧包围的 复合语句, 因为如果这样, 调用的时候就会发生语法错 (明显是一个单独语句, 但却 多了一个额外的分号), 就像在 if/else 语句的 if 分支中多了一个 else 分句一样。

有时候,正是那些意想不到之人,成就了无人能成之事。

——图灵

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 C语言入门到精通 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档