2016-12-11 9 views

答えて

0

文が真であるかどうかは、実際にはdptrだけでなく、ptrとdptr-> nextにも基づいています。ステートメントがtrueの場合、whileループの内容が実行されます。

サブマート(NULLでないあなたのcamparisons)が次々とチェックされます。もしfalseならば、もう一方は実行されません。これはほとんどのプログラミング言語に当てはまります。私はすべてをチェックしていませんが。 論理& &および||早い復帰のためのいくつかの固有のメカニズムがあります。彼らはどちらも左から右に向かって一歩一歩進みます。 (プラス())。 & &で、最初の偽のステートメントでチェックが中止されます。 ||最初の真のステートメントでチェックが中止されます。他の小切手には届きません。

したがって、あなたのステートメントは、dptrが実際にNULLの場合、dptr-> next!= NULLを決してチェックしません。したがって、あなたの文はNULLポインタへのアクセスから安全です。

関連する問題