第1个回答 2017-01-11
A 数组只有五个元素。 p+0到p+4合法, p+5越界。
B *a其实就是a[0] 所以 *a+1是a[0]+1 不是地址。
C a本身已经等效int*型了,所以 &a其实是int**型。 更准确的说法是int*[5]这样的数组指针。 再加1,其值等效于&a[5]
这段可能不好理解, 总之这里是类型不匹配就好。
D唯一正确项
第2个回答 2015-08-14
首先可以确定参数是传地址,刚开始*z指向变量c,但是*(z++) 表示指针z指向后一个元素,即执行完改操作后,*z指向的不是变量c了,所以变量c的值没变,一直是20.
第3个回答 2015-08-14
因为对z指针做了++运算,而不是z指向的内容.
顺带吐槽一句,考++,--运算符真的很没意义.
第4个回答 2015-08-14
我觉得是C啊。
++a是先加1再执行,后者是执行过后加
是答案错了吗?
第5个回答 2015-08-14
*(z++)不是加的是地址,所以加的是地址,对地址指向的数字无影响