求大神解答一下这几个是什么意思,怎么用?什么叫*p和str我是一点都不会,求详细解答 10

//Q1charstr[]="Wellcome";char*p=str;printf("Str=%s\n",p);//Q2charstr=[]"Wellcome";cha... //Q1
charstr[]="Wellcome";
char*p=str;
printf("Str=%s\n",p);

//Q2
charstr=[]"Wellcome";
char*p=str;
printf("Str=%c\n",*p);

//Q3
charstr[]="Wellcome";
char*p=str;
printf("Str=%c\n",p[0]);

//Q4
charstr[]="Wellcome";
char*p=str;
printf("Str=%s\n",&p[4]);

//Q5
charstr[]="Wellcome";
char*p=str;
printf("Str=%s\n",p+4);

//Q6
charstr[]="0123456789”
char *p=str;
p[6]=0;
printf("Str=%s\n",str);

//Q7
char str[]={48,49,50,51 52,53,10,65,66,67,0}
printf("Str=%s\n",str);

/Q8
char str[]={‘A’,’B’,’C’, 48,49,50,51 52,53,’\0’}
printf("Str=%s\n",str);
展开
 我来答
百度网友1c7628b
2014-12-06 · 超过34用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:51.5万
展开全部
*p代表的是定义了一个指针,这个指针指向你存放的变量的地址。
指向什么类型的数据地址,就定义什么类型的指针。
Q1中,*p指针指向的是字符串(数组)的地址,输出格式为%s,就是这个字符串。所以输出的结果应该是:str=Wellcome
Q2中,*p指针指向和Q1中相同,都是字符数组的首地址,但是这里输出的格式是%c,也就是一个字符。这时计算机默认输入第一个字符,结果应该是:str=W
Q3中,这里的p[0]其实就是p指向的数组的首地址,所以输出的结果和Q2是一样的:str=W

Q4中,这里的&是取地址符号,这里p[4]指向第四个字母c,因为输出格式为%s,所以我们将c和之后的作为字符串输出:结果应该是:str=come

Q5中,p+4相当于将指向首地址的p向后移动四位,现在p指向c,所以输出结果和Q4一样

Q6中,p[6]=0,在相当于在第6个位置上加了一个'\0'的结束符,你在输出但是之后的元素还是存在的,所以%输出的结果应该是:str=012345

Q7中,注意输出的不是数字,而是在ASCII码中对应的字母,其中数字10代表的是换行符,所以输出的结果是:str=012345

ABC

Q8中,同上,输出结果是:str=ABC012345
北京羿射旭科技有限公司
2019-11-29 广告
高阻尼隔震橡胶支座的价格大概在每个一两百元,便宜的有十几二十元,贵的有好几百元。高阻尼隔震橡胶支座的价格受多方面影响,如品牌、类别、规格、市场等。关键还是要学会挑选方法。变检算是否满足相应地震力作用下的使用要求。b..应根据跨度和温度变化幅... 点击进入详情页
本回答由北京羿射旭科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式