【发布时间】:2015-08-20 01:00:53
【问题描述】:
我对编程还很陌生,只是想知道为什么这段代码:
for ( ; *p; ++p) *p = tolower(*p);
当 p 指向一个字符串时,可以降低 c 中的字符串大小写吗?
【问题讨论】:
-
嗨。为什么你认为它不应该工作?\
-
哪一部分你不明白?
-
您好,我不确定 *p 如何用作 for 循环中的第二个参数,以及循环如何知道结束
-
@Dave 对于以
'\0'终止的字符串,*p的计算结果为'\0',用于中断循环的最后一个字符,对于继续循环的其他字符,计算结果为非零。 -
for在到达*p==0时终止执行。每个 C-String 都以 0 代码结束!