A-A+
有以下程序: main() { char str[]=xyz *ps=str; whil
问题详情
有以下程序: main() { char str[]="xyz",*ps=str; while(*ps) ps++; for(ps--;ps-str>=0;ps--) puts(ps); } 执行后输出结果是()。
A.yz xyZ
B.z yz
C.z yz
D.x xy xyz 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选项正确。