A-A+

有以下程序 main() { char s[]=ABCD *p; for(p=s+1;

2022-08-06 05:31:02 问答库 阅读 176 次

问题详情

有以下程序 main() { char s[]="ABCD", *p; for(p=s+1;p<s+4;p++) printf("%sn",p); } 程序运行后的输出结果是
A.ABCD BCD CD
B.A B C D
C.B C D
D.BCD CD D请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:D
解析:本题中首先定义一个字符数组s,并将字符串“ABCD”存到数组s中,定义了一个字符指针变量p,在接下来for循环中,循环体共执行了三次,第一次p指向3[1],所以此时输出的p所指的字符串的值为BCD,第二次循环p指向s[2],所以此时输出的p所指的字符串的值为CD,第三次循环p指向s[3],因此此时输出的p所指的字符串的值为D。所以,4个选项中选项D符合题意。

考点:程序