c语言基础问题求解

(*--p)++是什么意思啊是减去1再加一吗,怎么最后结果输出6,

--p就是取p-1的值,这里p是指针,因此就是指针前移1,结果是a[0]的地址

*取地址的值,就是取a[0]

y = a[0]++; 就是a[0]的值。

这个程序*p=a[1]在大部分编译器都会报错,类型不匹配

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-12-08
这种题目是非常有害的,因为它似乎在说这么不可读的代码时好的
结果当然很简单,所以--p表示p先加1再返回,所以它指向p原来指向位置的前一个位置
*表示该位置的内容
++表示这个内容的值加1后再返回
所以就等于
a=p[-1]++
p=p-1
然后返回a
相似回答