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 展开
答案输出的是:1 2 3 展开
5个回答
展开全部
*p[4]是指针数组, printf输出函数后面的输出数(p【0】)就是指针数组啊 应该输出地址啊
追问
答案输出的是:1 2 3 所以应该不是地址哇~是数值吧。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这p【0】不是数组 他只是个地址 相当于啊a【i】 (如果他们的地址是一样的)
追问
嗯~那这样的话。。怎么输出的是1 2 3 呢? 而不是输出地址?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p的值就是p[0]的地址
也就是p[0] = *p
那*p[0]是什么?
也就是p[0] = *p
那*p[0]是什么?
追问
指向数组的指针?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
编译不通过
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++ 没错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要区分数组和指针的概念
追问
请指示~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询