#include <stdio.h>
int main() {
int value = 4;
int *p_value = &value;
printf("(*p_value)++是%d\n", (*p_value)++);
printf("*p_value++是%d\n", *p_value++);
return 0;
}
前后打印出来的一个是乱码,有运行环境的可以运行下,然后指点下为什么不一样 ,谢谢
运算符的优先级确定表达式中项的组合。这会影响到一个表达式如何计算。某些运算符比其他运算符有更高的优先级,乘除运算符具有比加减运算符更高的优先级。
例如 x = 7 + 3 * 2,在这里,x 被赋值为 13,而不是 20,因为运算符 * 具有比 + 更高的优先级,所以首先计算乘法 3*2,然后再加上 7。
结合性是指具有相同优先级的操作符的运算顺序,从左至右运算称为左结合,从右至左运算称为右结合。
自增(++)和自减(--)操作符为对象加1或减1操作提供了方便简短的实现方式。它们有前置和后置两种使用形式。到目前为止,我们已经使用过前自增操作,该操作使其操作数加1,操作结果是修改后的值。
C语言运算符是说明特定操作的符号,它是构造C语言表达式的工具。C语言的运算异常丰富,除了控制语句和输入输出以外的几乎所有的基本操作都作为运算符处理。
扩展资料
运算符优先级
1、函数计算优先。
2、其次是强制类型转换。
3、自增、自减和取反次之。
4、先乘除再加减。
5、有括号先算括号内的。
6、表达式中出现连续两个运算符时最好用空格隔开,如a+++b要写成:a++ +b或a+ ++b。同一优先级的运算符,运算次序由结合方向所决定。
谢谢