问题 单项选择题

有以下程序:
main()
char str[]="xyz", *ps=str;
while(*ps) ps++;
for(ps--;ps-str>=O;ps--)
puts(ps);

执行后的输出结果是( )。

A) yz
xyz
B) z
yz
C) z
yz
xyz
D) x
xy
xyz

答案

参考答案:C

解析: 执行while循环,使指针变量ps指向字符串“xyz”的字符串结束标志,然后执行for循环,先执行ps--,使ps指向字符‘z’,故puts(ps)输出结果为z;再次执行ps--,使ps指向字符‘y’,故puts(ps)输出结果为yz;再次执行ps--,使ps指向字符‘x’,故puts(ps)输出结果为xyz,退出循环。所以,C选项为所选。

不定项选择题
实验题