单目运算符 只有一个操作数 双目运算符 有两个操作数 三目运算符 有三个操作数
赋值顺序不同 i++ 先赋值再相加 ++i是先相加再赋值
#include <stdio.h>
int main()
{
int a = 0;
int i = 0;
a = i++;//先赋值i = 0 然后再i自加
printf("a = %d i = %d\n", a,i);
a = ++i;
printf("a = %d i = %d", a, i);//先自加然后赋值
getchar();
}
i-- 与 --i亦是如此左值是对应内存中有确定存储地址的对象的表达式的值,而右值是所有不是左值的表达式的值。一般来说,左值是可以放到赋值符号左边的变量。但能否被赋值不是区分左值与右值的依据。 3.两者单独使用时一样单独一句语句时,i++ 等价 ++i 都是i=i+1但是当a = i++;a = i ,i= i+1 当a = ++i;i = i+1;a = i; 关系运算符> < = <= >= !=逻辑运算符&& || !bool a = TRUE;bool b = FALSE;a && b = FALSE;a || b =TRUE;位运算符&与 |或 ~(取反) ^(异或)左右移动(<<>>)赋值运算符+= -= *= /= %= &= |= >>= <<=条件运算符a?b:ca= 真 则式子 = ba= 假 则式子 = c