char *p[4]={1,2,3,4}; 而输出是printf("%d",p[0]) ;printf("%d",p[1]) ;printf("%d",p[2]) ;~~ 请问

定义的*P[4]是什么?还有为什么printf(“%d”,p[0])中是输出p[0]而不是*p[0]呢?p[0]不是地址吗?答案输出的是:123... 定义的*P[4] 是什么?还有为什么printf(“%d”,p[0]) 中是输出p[0] 而不是*p[0]呢?p[0]不是地址吗?
答案输出的是:1 2 3
展开
 我来答
王强让寂寞飞
2012-05-17
知道答主
回答量:1
采纳率:0%
帮助的人:1619
展开全部
*p[4]是指针数组, printf输出函数后面的输出数(p【0】)就是指针数组啊 应该输出地址啊
追问
答案输出的是:1 2 3 所以应该不是地址哇~是数值吧。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
生活来些新意
2012-05-17
知道答主
回答量:29
采纳率:0%
帮助的人:17.5万
展开全部
这p【0】不是数组 他只是个地址 相当于啊a【i】 (如果他们的地址是一样的)
追问
嗯~那这样的话。。怎么输出的是1 2 3 呢? 而不是输出地址?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
5843148
2012-05-17 · TA获得超过188个赞
知道小有建树答主
回答量:633
采纳率:0%
帮助的人:211万
展开全部
p的值就是p[0]的地址
也就是p[0] = *p
那*p[0]是什么?
追问
指向数组的指针?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
真龙侠客
2012-05-17
知道答主
回答量:40
采纳率:0%
帮助的人:8.1万
展开全部
#include <cstdio>
int main()
{
char *p[4]={1,2,3,4};
printf("%d\n",p[0]) ;
printf("%d\n",p[1]) ;
printf("%d\n",p[2]) ;
return 0;
}
编译不通过
更多追问追答
追问
你的头文件错了。
追答
我用的是c++ 没错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
明001393
2012-05-17
知道答主
回答量:5
采纳率:0%
帮助的人:7951
展开全部
要区分数组和指针的概念
追问
请指示~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式