我正在阅读《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)只会评估falseif stris 0,对吗?
所以我要说的是,是否没有机会str包含地址0x0000,从而评估if(str)为false?