ながら(PTR!= NULL & & DPTR!= NULL & & dptr->次の!= NULL)ポインタDPTRは、それが動作するか、終了するNULLである場合は、このコードでは&&と!=の優先順位は、論理ステートメントでどのように機能しますか?
?
ながら(PTR!= NULL & & DPTR!= NULL & & dptr->次の!= NULL)ポインタDPTRは、それが動作するか、終了するNULLである場合は、このコードでは&&と!=の優先順位は、論理ステートメントでどのように機能しますか?
?
文が真であるかどうかは、実際にはdptrだけでなく、ptrとdptr-> nextにも基づいています。ステートメントがtrueの場合、whileループの内容が実行されます。
サブマート(NULLでないあなたのcamparisons)が次々とチェックされます。もしfalseならば、もう一方は実行されません。これはほとんどのプログラミング言語に当てはまります。私はすべてをチェックしていませんが。 論理& &および||早い復帰のためのいくつかの固有のメカニズムがあります。彼らはどちらも左から右に向かって一歩一歩進みます。 (プラス())。 & &で、最初の偽のステートメントでチェックが中止されます。 ||最初の真のステートメントでチェックが中止されます。他の小切手には届きません。
したがって、あなたのステートメントは、dptrが実際にNULLの場合、dptr-> next!= NULLを決してチェックしません。したがって、あなたの文はNULLポインタへのアクセスから安全です。
どのような言語ですか?適切なタグを使用してください。 –
どのように終了できますか?終了機能は呼び出さないでください。 –