我有一个代码段如下:
if(a < b)
{
x = y;
return w;
}
/* all unrelated variables above*/
x = something;
y = something;
/*both x and y from above*/
x 和 y 是全局变量,它们在 if 部分中被修改,我需要将 y 分配给 x 然后返回 w,或者只是一个常量。
我需要使用三元运算符来替换 if 部分:
我尝试了以下方法:
return (((a < b) ? (x = y, w) : 1), (x = something, y = something));
但是,我似乎没有得到想要的结果。我知道这是错误的。这是因为我使用了类似表达式的返回,即:
if(x < y)
return (x = y);
return 1;
我写的是:
return ((x < y) ? x = y : 1);
但是,我如何返回一个值,这涉及在三元运算符中预先分配一个完全不同的变量?