如果条件代码在C中简化

时间:2016-01-12 19:21:57

标签: c if-statement simplify

如何简化这三个简单的条件?

if(v.x < 0)
{
    v.x *= -1;
}
if(v.y < 0)
{
    v.y *= -1;
}
if(v.z < 0)
{
    v.z *= -1;
}

2 个答案:

答案 0 :(得分:10)

#include <stdlib.h>
...
v.x = abs(v.x);
v.y = abs(v.y);
v.z = abs(v.z);

labsllabsfabs<math.h>)等,具体取决于您的号码类型。

答案 1 :(得分:1)

您可以这样做:

v.x = (v.x < 0) ? (v.x * -1) : (v.x) ;
v.y = (v.y < 0) ? (v.y * -1) : (v.y) ;
v.z = (v.z < 0) ? (v.z * -1) : (v.z) ;

这使用C ternary operator