对变量声明感到困惑

时间:2019-03-28 11:49:22

标签: c

此代码是什么意思?

int c, sign;

sign = (c == '-') ? -1 : 1;

我只知道整数就是数字。问号等是什么意思?

1 个答案:

答案 0 :(得分:2)

这是三元运算符。

sign = (c == '-') ? -1 : 1;

,上面的代码等效于

if(c == '-') sign =-1;
 else sign=1;

要详细说明三元运算符:

语法是:

(condition)? do this if condition is true:do this if condition is false

另一个示例,您可以将其用于:

   int a=1;
   printf( "Value of test is %d\n", (a == 1) ? 20: 30 );

如果a == 1为true,则将打印20;如果a == 1为false,则将打印30