【发布时间】:2012-09-08 15:00:45
【问题描述】:
我需要在 C 中定义一个宏来执行以下操作。
swap_m(t,x,y) 交换 x、y 类型的两个参数 t。
我不太确定如何将x 和y 设置为输入t。这可能真的很简单,但我是 C 新手,不太确定该怎么做。
【问题讨论】:
-
为什么你会为此写一个宏?使用通过临时变量交换值的简单函数。任何体面的编译器都会知道你在做什么,并生成最有效的机器代码来交换这两个值。如果您在该任务上没有获得满分没有严重的缺点请提交一个不会滥用宏的解决方案并提供适当的解释。
-
t对于x和y不是必需的:它们已经有一个类型。请记住,宏只是代码中的替代品。 没有宏你会怎么做呢?一旦你能回答这个问题,t的需求可能就更清楚了。 -
提示:开始为 T 类型的对象创建交换函数