如何简化这三个简单的 if 条件?
if(v.x < 0)
{
v.x *= -1;
}
if(v.y < 0)
{
v.y *= -1;
}
if(v.z < 0)
{
v.z *= -1;
}
#include <stdlib.h>
...
v.x = abs(v.x);
v.y = abs(v.y);
v.z = abs(v.z);
或
labs
、llabs
、fabs
(<math.h>
) 等,具体取决于您的号码类型。
你可以做这样的事情:
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 三元运算符。