这是一个计算字符串中字符数的函数:
int str_len(const char* s) { int i = 0; while(*(s++)) { i++; } return i; }
为什么这会返回正确的长度?
假设我用一个简单的 String 调用这个函数"a"。然后s递增在while循环,因此值s和i均为0。
"a"
s
i
c while-loop strlen c89
c ×1
c89 ×1
strlen ×1
while-loop ×1