早教吧 育儿知识 作业答案 考试题库 百科 知识分享

请帮忙解释一下下面两道题1.设有以下一段程序chars[]="Hello";char*p=s;执行完上面程序段后,*(p+5)的值为().A、'o'B、'\0'C、'o'的地址D、不确定的值2.已知:chars1[4]="12";char*ptr;则

题目详情
请帮忙解释一下下面两道题
1.设有以下一段程序
char s[ ]="Hello";
char *p=s ;
执行完上面程序段后,*(p+5) 的值为 ( ) .
A、'o'
B、'\0'
C、'o' 的地址
D、不确定的值
2.已知:char s1[4]="12";char *ptr;则执行以下语句后的输出为.
ptr=s1;
printf("%c\n",*(ptr+1));
A、字符'2'
B、字符'1'
C、字符'2'的地址
D、不确定
▼优质解答
答案和解析
1.B
char s[ ]="Hello";定义字符串(字符串结尾为标志位"\0")
char *p=s ;将字符串的地址(也就是第一个字符的地址)赋值给指针P
经过以上两步以后,*p='H';*(p+1)='e';*(p+2)='l';*(p+3)='l';*(p+4)='o';*(p+5)='\0'
2.A