首页 > 解决方案 > 对变量声明感到困惑

问题描述

这段代码是什么意思?

int c, sign;

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

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

标签: c

解决方案


这是三元运算符。

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 为真,则打印 20,如果 a==1 为假,则打印 30


推荐阅读