C语言的一个问题

2025-12-13 23:46:37
推荐回答(2个)
回答1:

zyx

初始"xyz\0"
ps指向'x'

while(*ps)ps++;
*ps不为0,则ps指向下一个字符
最后ps指向'\0';

for(ps--;ps-str>=0;ps--)
ps先指向前个字符即'z',
然后判断,输出,再指向前一个,直到指向'x'前一个字符

回答2:

while(*ps)ps++; //字符串以/0结尾, 这个循环把ps指向了字符串最后的结
for(ps--;ps-str>=0;ps--)//先把ps指向z的位置, 然后依次向前输出zyx

不过这个代码在我的编译器上不能编译通过, vs2005. 高手指点下为什么?错误代码error C3872