又是一个小的问题

王朝干货·作者佚名  2011-11-30
窄屏简体版  字體: |||超大  

main()

{

char str[]="xyz",*ps=str;/*定义一个字符串"xyz",定义一个字符型指针*ps指向str数组的首地址。*/

while(*ps) ps++;/*判断指针所指的对象(字符)是否为结束标记,即字符中'\0',不是则指针下移。该句的作用就是让指针指向字符数组的最后一个字符'\0'。*/

for(ps--;ps-str>=0;ps--) puts(ps);/*从最后一个字符 (不是'\0',是'z')开始输出。第一次循环指针指向'z',从'z'开始输出z和'z'之后的字符'\0',然后指针自减,指向'y';第二次,从'y'了开始输出'y','z','\0'。即"yz",然后指针自减,指向'x';第三次,从'x'开始输出'x','y','z','\0',即"xyz",然后指针自减;第四次因为ps-str<0退出循环。*/

}

每次循环,puts()会自动回车。

因此结果:

z

yz

xyz

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航