环境:C语言
++i 和 i++的区别,算术运算符、关系运算符、逻辑运算符的优先级
前言
C语言复习:
- ++i 和 i++的区别
- 算术运算符、关系运算符、逻辑运算符的优先级
一、++i 和 i++的区别
++i 是前置递增运算符 - -i 是后置递减运算符
i++ 是后置递增运算符 i- - 是后置递减运算符
例子:
void a(int i){
printf("++i = %d\n",++i);
}
void b(int i){
printf("i++ = %d\n",i++);
}
a(3); //++i 表示递增后的值 为4
b(3); //i++ 表示递增前的值 为3
int a = 3;
int b = 5;
int d = 3;
int e = 5;
printf("(++a)*b = %d\n",(++a)*b); //++a:4 结果:20
printf("(d++)*e = %d\n",(d++)*e); //a++:3 结果:15
二、算术运算符、关系运算符、逻辑运算符的优先级
代码如下(示例):
a = 3;
b = 2;
int c = 1;
d = 0;
int f = 0;
printf("a > b = %d\n",a>b);
printf("a > b == c :%d\n",(a>b)==c);
printf("b + c < a :%d\n",b+c<a);
printf("d = a > b :%d\n",d=a>b);
printf("f = a>b>c :%d\n",f=a>b>c); //3>2为正 3>2为1 判断1>c 否 为0
a = 4;
b = 5;
printf("!a:%d\n",!a); //只有0是0,只要大于零的都属于1 !a是0
printf("a&&b:%d\n",a&&b);
printf("a||b:%d\n",a||b);
printf("!a||b:%d\n",!a||b);
printf("4&&0||2:%d\n",4&&0||2);
printf("5>3&&2||8<4-!0:%d\n",5>3&&2||8<4-!0); //(5>3)&&2||(8<(4-(!0))) 先减法再!运算,后 < > 最后与、或运算
printf("'c' && 'd':%d\n",'c'&&'d'); //ASCII 码都大于0 为1
结果显示
运行结果: