Dav*_*ave 5 c pointers lowercase
我对编程很新,只是想知道为什么这个代码:
for ( ; *p; ++p) *p = tolower(*p);
Run Code Online (Sandbox Code Playgroud)
当p指向一个字符串时,是否可以降低c中的字符串大小写?
为了取消选择,我们假设p是一个指向 a 的指针char,并且在for循环之前,它指向字符串中的第一个字符。
在 C 中,字符串通常由一组连续char值建模,最后添加一个 0 作为空终止符。
*p一旦到达字符串空终止符,将求值为 0。然后for循环就会退出。(循环中的第二个表达式for充当终止测试)。
++p前进到字符串中的下一个字符。
*p = tolower(*p)将该字符设置为小写。