c - 使用指针的字符串长度

标签 c string pointers

我正在查找一些代码技巧。我发现一个我了解了基础知识但我不明白它为什么存在的原因。它与 while 循环中的字符串指针有关。通常我不处理字符串,因为我主要在嵌入式系统......小工具上工作。我需要理解为什么字符串指针在不增加时会结束。

因此,在这段代码中,您传递一个指向字符串的指针,然后在这个 while 循环中,您将计数器增加到指针,以便访问的地址不断增加。我明白了。我的问题是为什么会结束?当 while 循环计算结果为 false 并退出时会发生什么?对我来说,它似乎只是不断增加到 int 的大小,然后再次环绕。

int string_length(char *s)
{
   int c = 0;

   while(*(s+c))
      c++;

   return c;
}

最佳答案

while(*(s+c)) 当遇到空字符时返回 false 并中断循环

关于c - 使用指针的字符串长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27495366/

相关文章:

c - 用 c 修复百分比计算器?

python - SWIG:需要可变字符串类型映射帮助

python - 转换时间(HH :MM:SS) to minutes in python

Java Unicode 字符串长度

c - 递归函数的内联

c - 在 For 循环中 fork() 发生了什么

java - 如何将此字符串 "Mon Jan 01 00:00:00 AEDT 1990"转换为 "1990101"?

c++ - 函数参数中的C++数组指针

c++ - 获取目录列表

c++ - 强制 boost 变体存储指针