C语言等号运算符的左边不允许为表达式
//C语言
#include<stdio.h>
enum BOOL{
FALSE, TRUE
};
int main(){
int a, b = 5;
(a = b) = 100; //编译出错
printf("a = %d, b = %d\n", a, b);
}
C++语言等号运算符的左边可以为表达式
//C++语言
#include<iostream>
#include<stdlib.h>
#include<stdio.h>
using namespace std;
int main(){
int a, b = 5;
(a = b) = 100;
printf("a = %d, b = %d\n", a, b); // a = 100, b = 5;
(a==b?a:b) = 1000;
printf("a = %d, b = %d\n", a, b); // a = 100, b = 1000;
}
注意: a++++出错