c语言指针数组的问题求大神解答

题目第八行为什么是p[i]啊?p[i]应该是指针元素,而键盘输入的值赋值给p[i],不应该是a,b,c,d,e的地址吗,为什么是a,b,c,d,e的值啊?我想改成*p[i... 题目第八行为什么是p[i]啊?p[i]应该是指针元素,而键盘输入的值赋值给p[i],不应该是a,b,c,d,e的地址吗,为什么是a,b,c,d,e的值啊?
我想改成*p[i]可是程序出错。。。
展开
 我来答
百I度网友AQnlQ
2019-03-03 · TA获得超过143个赞
知道小有建树答主
回答量:188
采纳率:37%
帮助的人:13.3万
展开全部
对于指针型数组,每个数组元素本身就是指针,其中所存放的的值,就是变量的地址。
在本题目中的第6行,已将p[]定义为一个整型指针型数组,并对每个数组元素赋值。所以题目第八行键盘绘输入语句中的 p[0]一p[5] 代表的就是整型变量a,b,c,d,e的地址。所以题目中的写法没有问题,如果改成 *p[i] 程序就不对了。
听不清啊
高粉答主

2019-02-22 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.8亿
展开全部
因为正常情况下,scanf中应该是使用地址的。
比方说,scanf("%d",&a);
现在因为p[0]=&a
所以,上面的就成了:
scanf("%d",p[0]);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
草原上之狼
高粉答主

2019-02-24 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.9万
采纳率:93%
帮助的人:3790万
展开全部
str是str[10]的指针,str+i指向str[i],把int *p[10]改为int (*p)[10],这两个数组的含义不同的,原是指针数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zcy990718
2019-02-22 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1.2万
采纳率:66%
帮助的人:1628万
展开全部
实际上:
int *p[5];
就是定义了5个指针,所以p[0],p[1]...本身都是指纹,无需增加&
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式