求大神解答一下这几个是什么意思,怎么用?什么叫*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); 展开
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); 展开
1个回答
展开全部
*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
指向什么类型的数据地址,就定义什么类型的指针。
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 广告
2019-11-29 广告
高阻尼隔震橡胶支座的价格大概在每个一两百元,便宜的有十几二十元,贵的有好几百元。高阻尼隔震橡胶支座的价格受多方面影响,如品牌、类别、规格、市场等。关键还是要学会挑选方法。变检算是否满足相应地震力作用下的使用要求。b..应根据跨度和温度变化幅...
点击进入详情页
本回答由北京羿射旭科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询