帮忙看下这个C代码

来源:百度知道 编辑:UC知道 时间:2024/06/24 19:06:11
#include"stdio.h"
void main()
{
char str[]="xyz",*ps=str;
while(*ps) /*这句话是什么意思?*/
ps++;
for(ps--;ps-str>=0;ps--)
puts(ps);
}
这个程序基本上都不懂,麻烦高手详细的解释一下程序。
最好逐句解释下。谢谢。

void main()
{
char str[]="xyz",*ps=str;
while(*ps) /* ps是指针,*ps是ps指向的字符,相当于str[i]*/
// 这个循环是移动ps指针直到 *ps不为空
ps++; //指针ps后移一位
for(ps--;ps-str>=0;ps--) //ps前移,直到指向的字符时 ‘x'
puts(ps); //打印出ps
}

打印结果应该是
z
yz
xyz吧