问题 单项选择题

有以下程序:
#include < stdio. h >
main ( )
char s[] = "ABCD", * p;
for(p=s+1;p<s+4;p++) pfintf(" % s \n" ,p);

A.ABCD
BCD
CD
D

B.A
B
C

C.B
C
D

D.BCD
CD
D

答案

参考答案:D

解析: p=s+1是指将s(1)的地址赋给p,循环的终止条件是p<s+4,s+4表示的是 s[4]的地址,总共3次循环,因为程序中是按“%s”格式符输出,所以应该输出3个字符串,而且每次输出字符串的字符个数减少1。由此可得选项D)正确。

选择题
单项选择题