如题所述
前自增和后自增的区别问题。
首先p是指向数组a第0项(a[0],即1)的指针。
p这个指针自增表示p指向的位置后移一位(也就是指向a[1])
*p自增表示p指向的内存位置的数值自增(返回a[0]+1=2)
但是自增符号写在变量前后有区别。区别在于是在计算表达式之前自增还是计算表达式之后自增。
比如 a=i++; 等价于{a=i;i=i+1} a的值为i
a=++i; 等价于{i=i+1;a=i} a的值为i+1
看C选项是后自增操作符。所以表达式本身返回*p(即1),然后才会执行*p=*p+1。
A和B由于都是先自增然后返回,分两条语句写,就都是2
D是前自增。
望采纳
首先p是指向数组a第0项(a[0],即1)的指针。
p这个指针自增表示p指向的位置后移一位(也就是指向a[1])
*p自增表示p指向的内存位置的数值自增(返回a[0]+1=2)
但是自增符号写在变量前后有区别。区别在于是在计算表达式之前自增还是计算表达式之后自增。
比如 a=i++; 等价于{a=i;i=i+1} a的值为i
a=++i; 等价于{i=i+1;a=i} a的值为i+1
看C选项是后自增操作符。所以表达式本身返回*p(即1),然后才会执行*p=*p+1。
A和B由于都是先自增然后返回,分两条语句写,就都是2
D是前自增。
望采纳
温馨提示:答案为网友推荐,仅供参考