试题题干
#include <stdio.h>
#include <string.h>
void main ()
{
char *pa, a [20]=″Beijing2008″;
for (pa=a+7;*pa!=’\0’;pa++) putchar (*pa);
putchar (’\n’);
}
参考答案
试题解析
char *pa, a [20]=″Beijing2008″;定义了字符型指针变量pa和数组a[20],pa=a+7指的是指向一维数组a[20]下标为7作为首地址,*pa!=’\0’是指针变量遇到‘\0’结束循环。
进行第一次循环时,指针变量pa指向a[7]即pa=7,输出的字符为2,此时指针变量pa的值为8;
进行第二次循环时,指针变量pa指向a[8]即pa=8,输出的字符为0,此时指针变量pa的值为9;
进行第三次循环时,指针变量pa指向a[9]即pa=9,输出的字符为0,此时指针变量pa的值为10;
进行第四次循环时,指针变量pa指向a[10]即pa=10,输出的字符为8,此时指针变量pa的值为11;
进行第五次循环时,指针变量pa指向a[11]即pa=11,遇到‘\0’,则结束循环,即最后输出的字符为2008。