繁体   English   中英

我们可以写一个没有返回值的三元运算符

[英]Can we write an ternary operator without a return value

我的代码中有一个三元运算符 ,我不想从该Ternary运算符返回任何值...

我可以写一个三元操作符与返回值为 ...

示例:

int a = 10;
int b = 20;

我可以写作

(a<b ? a+=b : a-=b);

它显示的错误就像

The left-hand side of an assignment must be a variable

谢谢 ...

我可以写一个返回值为null的三元运算符

不,你不能。

你能做的是:

a = a<b ? a+b : a-b;

甚至:

a += a<b ? b : -b;

不,三元运算符本身就是一个表达式,因此必须对某些东西进行求值。 a += b; 是一个声明 ,把它放在三元组不具有语法意义。

  1. a += a < b ? b : -b; a += a < b ? b : -b;

要么

  1. 使用ifelse以明显的方式。

在工程代码中,(1)非常惯用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM