小编luo*_*uan的帖子

检查指针是否为NULL并导致运行时错误

我正在做leetcode问题https://leetcode.com/problems/add-two-numbers/

ListNode的定义是:

 // Definition for singly-linked list.
 struct ListNode {
     int val;
     ListNode *next;
     ListNode(int x) : val(x), next(NULL) {}
 };
Run Code Online (Sandbox Code Playgroud)

当我检查列表是否结束时,我使用了:

int v1 = h1 == NULL? h1->val:0; // h1 is defined before: ListNode* h1 = l1;
Run Code Online (Sandbox Code Playgroud)

但它返回运行时错误,但如果我将其更改为

int v1 = h1? h1->val:0;
Run Code Online (Sandbox Code Playgroud)

它被接受了.

这是为什么?

c++ pointers

0
推荐指数
1
解决办法
186
查看次数

标签 统计

c++ ×1

pointers ×1