【发布时间】:2012-05-17 22:52:43
【问题描述】:
这是什么原因?我认为如果指针为空,则不会评估其余条件。
// doesn't work:
char *ptr = somefunction();
if (ptr && ptr[0] == '1' || ptr[0] == 't')
// ...
// does work:
char *ptr = somefunction();
if (ptr)
if (ptr[0] == '1' || ptr[0] == 't')
// ...
【问题讨论】:
-
这不是你的问题,但请注意,仅仅因为指针非空并不意味着它是有效的......
标签: c pointers dereference