我不明白指针在其中的作用for
loop. 什么是*p
在下面的循环中做什么?
char str[128] = "Some Text";
char *p;
for (p = str; *p /*what does this mean?*/; p++)
{
// Code
}
其余的我都明白,但为什么不明白*p
like p > 3
或类似的东西?
为何孤身一人?
为什么这么写?
在布尔上下文中,例如 a 的条件for
循环中,C 中的每个表达式的计算结果为 true(非零)或 false(零)。
你想要的for
当循环到达字符串末尾时终止。
在 C 语言中,每个字符串都以字符结尾'\0'
,这实际上是0
。所以,当for
循环到达字符串末尾,*p
评估为'\0'
,即0
,其计算结果为 false,从而终止for
loop.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)