面试题:用宏定义写出swap(x,y),即交换两数。

鼠标选中查看答案↓:

#define swap(x,y)  do{(x)=(x)+(y);(y)=(x)-(y);(x)=(x)-(y);}while(0)

这个题考查宏定义的语法,尤其是多行代码的宏定义,加上do{}while(),,可以保证这些语句只执行一次。

你可能感兴趣的:(c语言,算法,面试)