c语言,分析一下第37题
1个回答
展开全部
前自增和后自增的区别问题。
首先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是前自增。
望采纳
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询