C语言中的问号表达式又称为条件表达式,它的语法如下:
```
expression1 ? expression2 : expression3
```
其中,`expression1`是一个条件表达式(必须是一个布尔表达式),如果它的值为真,则返回`expression2`的值,否则返回`expression3`的值。
例如,以下代码使用了问号表达式:
```c
int a = 10;
int b = 20;
int max = a > b ? a : b;
```
这个代码首先比较了变量`a`和`b`的值,如果`a`大于`b`,则将`max`赋值为`a`的值,否则将`max`赋值为`b`的值。
问号表达式通常用于简化代码,例如在赋值语句中使用它可以减少代码量。但是需要注意的是,过多使用问号表达式会导致代码难以理解,因此应该谨慎使用。