C语言笔记
答案是D
解释:
ptr 首先等于arr[0]的地址,通过for循环,移动指针的位置,进而打印从指针所在位置以后的字符。
#include <stdio.h>
int main( )
{
char arr[]="ABCDE";
printf("arr的地址:%p\n",arr);
char *ptr;
for(ptr=arr;ptr<arr+5;ptr++)
{
printf("%s\n",ptr);
printf("ptr的地址:%p\n",ptr);
}
}
输出结果:
结果解释:
1、arr 实际上是 arr[0] ,所以与第一个指针的地址相同。
2、地址加1,是因为char的类型占的字节是1。
3、因为%s,所以获取的是字符串,而不是字符。