问题 单项选择题

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

程序运行后的输出结果是( )。

A) ABCD
BCD
CD
D
B) A
B
C
D
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)符合题意。

单项选择题
填空题