【发布时间】:2015-03-03 16:39:57
【问题描述】:
在 C 中给定一个字符串指针s,下面的迭代会做什么?即它以什么方式迭代字符串?
for (++s ; *s; ++s);
【问题讨论】:
-
从
str[1]开始,而不是str[0] -
直到空字符。并且通过修改
s指针,这样以后就不是很有用了。 -
你为什么在第一个参数中被
++s“难倒”,但在最后一个参数中却没有被它难倒。有什么区别? -
进入循环时会发生什么,循环停止的位置等可以很容易地用调试器检查。
-
如果 s 指向一个典型的空字符串,该循环将产生非常糟糕的行为。