Kap*_*pol 1 c pointers while-loop
我希望下面的循环增加指针,直到遇到空终止字符.但它无法正常工作.
while (*s++ != '\0')
;
Run Code Online (Sandbox Code Playgroud)
这个做了:
while (*s != '\0')
s++;
Run Code Online (Sandbox Code Playgroud)
我似乎无法理解两者之间的区别.
这个问题与The C Programming Language书的练习5.3有关.
while (*s++ != '\0')
;
Run Code Online (Sandbox Code Playgroud)
上面的语句将增加的值s是否(*s++ != '\0')为假或真.如果为false,它也会增加它,但无论如何它都会突破循环.
while (*s != '\0')
s++;
Run Code Online (Sandbox Code Playgroud)
上面的语句不会增加sif (*s != '\0')返回false 的值,然后断开循环,使得*s仍然指向'\0'.