我想知道C中的“?:”运算符。可以在另一个条件运算符中使用条件运算符吗?
int a = 0;
a == 1?a += 1:a == 0?a += 2:a = 3;
这是一个非常糟糕的例子,但我希望你能理解我想要问的问题。
答案 0 :(得分:1)
当然你可以这样:
int a = 0;
a == 1?(a += 1):((a == 0)?(a += 2):(a = 3));
与写作相同:
int a = 0;
if (a == 1)
a += 1;
else
if (a == 0)
a += 2;
else
a = 3;
更清楚易读和理解。
答案 1 :(得分:0)
是的,但您必须使用括号,如下:
a == 1?a += 1:(a == 0?a += 2:a = 3);