c++的三目运算符

C++三目运算符增强
C++中的三目运算符表达式返回的可以是一个变量,但是C语言中返回的是一个常量。
C语言中:
void test05() {
    int a = 10;
    int b = 20;
    printf("%d\n", a < b ? a : b);
//在C语言中三目运算符返回的是表达式的值,是一个常量
    /*(a < b ? a : b) = 100;*/
    //可以这么写
    *(a < b ? &a : &b) = 100;
    //这样的话返回的就是a的空间,就可以赋值
}
int main()
{
    test05();
    return 0;
}
C++中:
void test05() {
    int a = 10;
    int b = 20;
    printf("%d\n", a < b ? a : b);
    //在C++中三目运算符返回的是一个变量
    (a < b ? a : b) = 100;
}
int main()
{
    test05();
    return 0;
}

你可能感兴趣的:(c++,java,算法)