1. 三目运算符
- 三目运算符(a?b:c)可以作为逻辑运算的载体
- 规则:当a的值为真时,返回变量b的值(而不是变量本身);否则返回c的值。(c++中返回变量本身)
- 三目运算符(a?b:c)的返回类型
- 通过隐式类型转换规则返回b或c中较高的类型
- 当b和c不能隐式转换到同一类型时将编译出错
2.编程实验
- 三目运算符初探
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 1;
int b = 2;
int c = 0;
c = a < b ? a : b; // (a<b)?a:b;
// 以下代码试图根据条件有选择地给a或b变量赋值。但这样的
// 代码是错的,因为三目运算符的返回值是a或b变量的值,
// 而不是a或b变量本身,下列的代码相当于1=3;或2=3;
// 即要把3赋值给1或2。编译器会报错。
// (a < b ? a : b) = 3; // error
//要达到上述目的,可以改为如下代码,因为三目返回的是变
//