我正在阅读《Cracking the Coding interview (Q 1.2)》一书中问题的解决方案。目标是在 C 中实现一个void revers(char* str)
反转空终止字符串的函数。
解决方案代码如下所示:
void reverse(char *str)
{
char* end=str;
char tmp;
if(str)
{
while(*end)
{
end++;
}
end--;
//code to reverse
}
}
在这里,str
包含一个地址吧?并且if(str)
只会评估false
if str
is 0
,对吗?
所以我要说的是,是否没有机会str
包含地址0x0000
,从而评估if(str)
为false
?