问题
单项选择题
有以下程序:
#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)正确。