1楼:匿名用户
下面解释一下为什么选b
p是a[0]的指针当然*p=a[0]了也就是1那么为什么输出*(p+3)时结果是版6而不是权4呢?
是因为*(p+3)+=2也就是:
*(p+3)=*(p+3)+2
在执行上面赋值表达式时刚开始时*(p+3)的值是4但是*(p+3)=*(p+3)+2也就是*(p+3)=4+2这一步是把*(p+3)看做一个变量对其进行从新赋值,就得结果6了。
2楼:匿名用户
p=a:这里
抄将p指向a的首地址,也bai就是a[0]的地址所以p+3也就是指向相du对于a偏移3个单位的成员,zhi也就是a[3]的地dao址了,
所以*(p+3)也就是a[3](就是数组中的4),*(p+3)+=2,就是将a[3]的值再加上2,所以就由4变为6,所以最后输出*p,*(p+3)的值就变为:1,6
3楼:翱翔之冠军
﹡p是指向第一个
﹡(p+3)等于﹡(p+3)+=2
所以分别指向第一和第六
求问下大神,C语言指针问题,大神大神,赐教啊,关于C语言指针问题。
1楼 阳光的雷咩咩 从声明可知l本身是指针类型,整个函数都是对l为头结点的链表做操作 要从函数内部改变函数参数的值,一般要用指针,这也就是为何initlist要用二级指针的原因。这个值得深入理解,我认为真正的难点在这里。 而不是后面传l为何起作用,这是你问的地方 2楼 匿名用户 不太明白你说的啥 能...
c语言中的指针问题,求解答,C语言中的指针问题,求解答
1楼 匿名用户 好像有点多此一举,直接使用rsnum就可以了。rsnum 就是数组的首地址了。 如果一定要用指针就是要申明一个指针来赋值。 c语言指针问题,求解答 2楼 伤我中国心 1, 是取值运算符,因为你要判断tt的值的情况,所以要用 2,tt 相当于 tt tt 1 这个是指针向后移动,不需要...
一道C语言指针的题目求大神教教,求大神讲解一下这几道c语言指针题目!!!! 10
1楼 璃梦戏子 p 符号就表示指向某地址 a的地址,同理, q b的地址,这是最基础的, 把p q的地址送入fun函数中,fun后面的 就要用到二级指针, p与 p要等价 二级指针可以用int定义,这也是为什么fun函数中语句 a和 t用int定义,前者用于 p与 q的交换,交换 在你所写fun程序...