在做一道链表题后,我发现了以下报错:
runtime error: member access within null pointer of type 'struct ListNode' (solution.c)
然后上网查阅资料得到这是空指针的问题,即编译器不知道你正在使用的是不是空指针中的元素
而当时出问题的代码为
while(fast->next && fast)
其中fast是一个结构体指针变量
这里的问题实际上是,编译器会优先处理fast->next这一语句,而编译器不清楚是否fast为空
而解决办法为
while(fast && fast->next)
顺序调换后,处理器知道fast是否为空了,就可以访问fast->next了