天天看点

C语言应该增加交换值的关键字或语法

用C/JAVA的人都知道,要两个变量交换值,典型写法如下:

int left  = 1;
int right = 2;
int temp;
 
temp  = right;
right = left;
left  = temp;      

这个写法可真够麻烦的。而这种情况经常发生,比如说两个缓冲区交换数据。所以吾就想,咱C语言,能不能提供一个交换关键字,来简化这种写法。比如说叫xchange?这样代码就可以简化为:

int left  = 1;
int right = 2;
 
xchange left, right      

可能对于两个缓冲区交换,有点麻烦。没事,咱编译器可以智能处理嘛。

有人一听头大了,这个关键字很常用,吾以前的代码中很多。这是个事吗?当然不是。咱可以叫个别的名嘛,可以加个开关嘛,可以进行智能判断嘛(指令跟变量、函数不一样)。

或者干脆模仿python的写法:

int left  = 1;
int right = 2;
 
left, right = right, left      

这样也可以充分利用CPU的优化,代码也精简了很多。