C++ c++与C语言的区别第三讲

Posted 庖丁解牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ c++与C语言的区别第三讲相关的知识,希望对你有一定的参考价值。

//区别⑦:三目运算符(C++版本)
#include<iostream>
using namespace std;

//三目运算符 C语言返回变量的值 C++语言是返回变量本身

void main(){
    int a = 10;
    int b = 20;
    a < b ? a : b = 30;
    //C++中的三目运算符可直接返回变量本身,因此可以出现在程序的任何地方
    //注意:
    //三目运算符可能返回的值中如果有一个是常量值,则不能作为左值使用
    //(a < b ? 1 : b) = 30;
    system("pause");
}
//区别⑦:三目运算符(C语言版本)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

void main(){
    int a = 10;
    int b = 20;
    //a < b ? a : b = 30;  报错  error C2106: “=”: 左操作数必须为左值
    //详解: 在C语言中,a < b ? a : b这里返回的a是a的值,而不是a这个变量
    //常量是不可以做左值的
    //左值在c++中很重要,元素当左值的条件是这个元素必须存在内存空间(在寄存器中的值就没有内存空间)
    
    //在C语言中实现三目运算符返回变量
    *(a < b ? &a : &b) = 30;
    system("pause");
}

 

以上是关于C++ c++与C语言的区别第三讲的主要内容,如果未能解决你的问题,请参考以下文章

C++ c++与C语言的区别第二讲

C++和VisualC++有啥区别?

c++中后缀名.c 与.cpp的区别

Visual C++和C++的区别

c语言和c++有啥关系

c语言和c++和c#的区别