null==null的结果? 牛客剑指offerJZ52题

原题
输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空。

其中一种解题思路:

img

疑惑如第2个注释。

NULL == NULL 返回TRUE


#include <stdio.h>

int main(void) {
    if (NULL == NULL) printf("NULL == NULL is true");
    else printf("NULL == NULL is false");
    return 0;
}

img

img

ta、tb应该是一直跑,跑到最后一个节点的之后又回到头节点。直到这两个节点的距离到公共节点的距离一样,再一起跑到公共节点就退出循环了。你这个程序不报错??