我正在尝试编写一个程序,如果在给定的数量中存在相同数量的赔率和偶数,它会工作得很好但是它想要使用条件运算符而不是这4行(//行),
我明白了:
令牌"%"上的语法错误,AssignmentOperator无效
有人可以告诉我为什么吗?怎么了?
while(number!=0) {
//if(number%2==0)
//even++;
//else
//odd++;
number%2==0 ? even++ : odd++;
number/=10;
}
Run Code Online (Sandbox Code Playgroud)
number%2==0 ? even++ : odd++;
Run Code Online (Sandbox Code Playgroud)
这不是一个声明.必须将三元的结果分配给某些东西:
int x = number % 2 == 0 ? even++ : odd++;
Run Code Online (Sandbox Code Playgroud)
然而,这在风格上非常尴尬.我会if-else在这种模式中使用(即你最初拥有的).在这里,您创建了一个永远不会重复使用的临时变量,仅用于使用三元组.