答案是A,*pa是指a[0] 。而(a+1)以及(pa+1)都是&a[1]的意思,BCD选项都是指代a[1]。
运行结果是:6 2 3 4 5
原因:先定义了一个5位的int数组,再调用函数,形参是&a[0],所以函数中改变的一直只有数组的第一个数,for循环后不断累加的结果是6,所以a[0] = 6,其他不变。
答案是A、D。 B是将指针p解引用为地址,不能将地址赋给一个非指针变量;D运用了位运算符,但是还是要不能把假定值赋给一个变量。
*p = 5
理由:&a[2]+1指的是&a[3]=5;
B:传过去的形参只可以改变p的值,不可以改变数组a除了第一个数的其他数。
前面四个都是地址,前三个是a[0]的地址,第四个是a[9]的地址;第5个是19,第六个是1
7
、
8、