问题 单项选择题

有以下程序:
#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)正确。

单项选择题
单项选择题