问题
单项选择题
有以下程序: mam() { char s[]="ABCD",*p; for( p=s+1;p<s+4;p++)printf("%s\n",p); } 程序运行后的输出结果是( )。
A.ABCD BCDD
B.A B CD
C.B C D
D.BCD CD D
答案
参考答案:D
解析:本题中首先定义一个字符数组s,井将字符串“ABCD”存到数组s中,定义了一个字符指针变量p,在接下来for循环中,循环体共执行了三次,第一次p指向s[1],所以此时输出的p所指的字符串的值为BCD,第二次循坏p指向s[2],所以此时输出的p所指的字符串的值为CD,第三次循环p指向s[3],因此此时输出的p所指的字符串的值为D。所以,4个选项中选项D符合题意。