c我不知道如何用两个来计算一个表达式



我不确定如何在while循环中计算这个表达式。 我知道当语句为真时,你做第一个,假,你做第二个,但它让我对有两个条件语句时我应该做什么感到困惑。

int x = 152487;
int ct1 = 0;
int ct2 = 0;
while(x > 0)
{ x % 2 ? x > 5 ? ct1++ : ct2++ : ct2++;
  x /= 10; 
}
printf("ct1: %dn", ct1);
printf("ct2: %dn", ct2);

表达式括起来,它就会很清楚。

x % 2 ? (x > 5 ? ct1++ : ct2++) : ct2++;

如果x是奇数,则x % 2的计算结果为 true 。这意味着上述表达式的值为

(x > 5 ? ct1++ : ct2++)

这又是一个条件表达式。如果x为偶数,则表达式的计算结果为

ct2++

相关内容

最新更新