对变量声明感到困惑[重复]

问题描述 投票:0回答:1

这段代码是什么意思?

int c, sign;

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

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

c
1个回答
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 );

如果== 1为真,则打印20;如果== 1为假,则打印30

© www.soinside.com 2019 - 2024. All rights reserved.