char a[9]={1,2,3,4,5,6,7,8.9} char * p; p=a; 如果给
chara[9]={1,2,3,4,5,6,7,8.9}char*p;p=a;如果给a[1]赋值,可以用p[1]=11;这种形式吗,还是只能用a[1]=11;这种形式对它...
char a[9]={1,2,3,4,5,6,7,8.9}
char * p;
p=a;
如果给a[1]赋值,可以用p[1]=11;这种形式吗,还是只能用a[1]=11;这种形式 对它进行赋值。 展开
char * p;
p=a;
如果给a[1]赋值,可以用p[1]=11;这种形式吗,还是只能用a[1]=11;这种形式 对它进行赋值。 展开
5个回答
展开全部
#include<stdio.h>
void main()
{
char a[9]={'1','2','3','4','5','6','7','8','9'};
char *p;
p=a;
p[1]='a';
a[3]='b';
for(int i=0;i<9;i++)
printf("%-4c",a[i]);
printf("\n");
}
字符数组赋值如果想赋值1,2,之类的要用单引号'',p[1]=11; 和 a[1]=11;都是是可以赋值的,不过结果不会是11,如果使用p[1]=‘11’; 和 a[1]=‘11’;结果会是1,因为字符只有一位。用代码尝试一下就知道结果。
展开全部
实践验证真理,你自己编一段代码来测试不就行了,先P[1]=11;然后看a[1]有没有变化,希望可以帮到你!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然只能用第二种形式,第一种形式里的p表示的是指针名,是把a赋给p,也就是把a里的字符存在p表示的位置里
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两种都可以的,p=a;是将指针指向a数组的首地址,p[1]实际上还是修改了数组a[1]的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用a[1]=11,也可以用p[1]=11,还可以用*(a+1)=11和*(p+1)=11。它们都是等价的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询