浅谈c/c++中的三目运算符区别

    先来看一段代码

int main()

 {

    int a=10;

    int b=30;

    (a

    printf("a=%d,b=%d",a,b);

    return 0;

}


        在c编译器中上段代码会报错,打在c++编译器中不会报错。

        (a

        但是在c++编译器中对其做了优化,c++中的三目运算符可以直接返回变量本身,因此可以出现在程序的任何地方。

        那么c语言如何支持类似c++的特性呢?

        再次我们要明白当左值的条件------>要有内存空间,而c++编译器帮助我们在上面表达式中取了一个地址而已。其本质也是和c的实现方式类似 

        (a>b?&a:&b)    

        这样我们就可以返回变量的地址。比不过c++编译器帮我们做了这一步而已。

注意:

        (a

 该博客文章是博主记录传智播客传智扫地僧C++课程讲义,如有侵权请联系删除!

你可能感兴趣的:(C/C++复习笔记,C/C++学习笔记,C/C++)