3就是未定义行为,不用想,对空指针解引用就是未定义行为,标准里写的明明白白,理论上编译器可以产生任意结果