请帮忙解释一下下面两道题
问题描述:
请帮忙解释一下下面两道题
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.Bchar 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...