//区别⑦:三目运算符(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"); }
时间: 2024-11-08 08:30:11