C语言问题:已有定义int a[10]={1,2,3,4,5,6,7,8,9,10} 要求通过指针完成从一维数组中删除下标为K的元素

2024-11-16 03:21:19
推荐回答(2个)
回答1:

a中存放的是数组a[10]中元素的地址,而对于二维数组int
x[3][4],*p;
p=*x,
x[0],
x[1],
x[2]存放的是数组x[3][4]种元素的地址,x存放的的是x[0]的地址,也就是地址的地址。所以在二维数组定义的时候可以写成p=x[0]却不能写成p=x而是在前面多一个*号,*x为元素地址,而x位地址的地址

回答2:

两个问题:
1.输入k之后
,要重新将
p
指向
a
即10行前+一句
p
=
a;
2.最后一个for越界,i=9

p+i+1
就成了
p+10