while(*p++)--p;是啥意思

360U3186374671 |浏览861次
收藏|2020/02/12 07:49

满意回答

2020/02/12 08:04

不知你看的是什么教材,while(*p++)--p;与while(*p!='\0') p++;结果完全不同的,前者是死循环后者可求字串长度它与while(*p++); //相当于while(*p!='\0') p++; p++;--p;是等价的注意分号

whoami1978

其他回答(1)
  • while(*p++);执行时,先判断 *p!='\0' ,再执行 p++ 即 无论 *p 为0 还是非0 都会执行 p=p+1。while(*p++)--p;执行时,先判断 *p!='\0' ,再执行 p++;如果条件 *p!='\0'成立,则执行--p(先是p加1,再p减1,其指向不变)。
    回答于 2020/02/12 08:30
0人关注该问题
+1

 加载中...