C语言中、char (*pa)[5];和char *pa[5]有什么区别

题目:利用指针将STR1的内容给STR2、要求不能用字符串函数、inti=0;chara[5];charb[5];方法一:�0�2/*char... 题目:利用指针将STR1的内容给STR2、要求不能用字符串函数、int i=0;
char a[5];
char b[5];方法一:
�0�2/*char (*pa)[5];
//定义数组指针、
printf("请输入一个字符串\n");
scanf("%s",a);
pa=&a;
printf("\n");
for(i=0;i<strlen(a);i++){
b[i]=*pa[i];
printf("%c\n",b[i]);
}
b[strlen(a)]='\0';

// printf("%s\n",b);//得到的结果只有输入字符串的第一个字符、
*/方法二
char *pa;
printf("请输入一个字符串\n");
scanf("%s",a);
pa=a;
printf("\n");
for(i=0;i<5;i++){
b[i]=*pa;
pa++;
}
b[strlen(a)]='\0';
printf("%s\n",b);

可以得到正确答案、
方法一的错误在哪里?我是新手、跪求讲解、
展开
 我来答
匿名用户
2013-10-21
展开全部
指针数组:int *pa[5]; //它是五个指针。这五个指针组成一个数组

数组指针:int (*pa)[5]; // pa是一个指针变量。它指向一个有四个数组 void main()
{
int i=0;char a[5];char b[5];//方法一:
char (*pa)[5];
//定义数组指针、
printf("请输入一个字符串\n");
scanf("%s",a);
pa=&a;
printf("\n");
for(i=0;i<strlen(a);i++)
{
b[i]=(*pa)[i]; printf("%c\n",b[i]);
}
b[strlen(a)]='\0';printf("%s\n",b);}
匿名用户
2013-10-21
展开全部
char (*pa)[5];不是定义指针数组,是用来定义指向一组数组的指针变量char *pa[5]才是定义指针数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-21
展开全部
pa=&a;实际上是将指针a的地址赋给了pa,或者说是将指针的指针赋给了pa
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式