a. 前置是“先变后用”,后置是“先用后变”。
b. 前置可以做左值,也可以做右值,后置只能做右值。因为前置返回的是变量本身,而后置返回的是一个临时变量。
c. 前置和后置作用的对象都是标准类型的变量(整形,实型等),不可以是常量或者表达式。
2. 自增/自减运算符和取值运算符 " * "的优先级和结合性:
它们都是单目运算符,运算优先级相同,运算时自右向左。
练习:
1. 输出结果为_____
#include <stdio.h>
int main()
{
int a=5,b=0,c=0;
b = (a++)+(a++)+(a++);
a = 5;
c = (++a)+(++a)+(++a);
printf("b = %d\n",b);
printf("c = %d\n",c);
return 0;
}
2.
3.
#include <stdio.h>
int main()
{
char *ptr = (char*)"abcd";
char c = *++--++ptr;
printf("c=%c\n",c);
return 0;
}
因篇幅问题不能全部显示,请点此查看更多更全内容