Rumah >pembangunan bahagian belakang >C++ >Apakah Perbezaan Antara \'Penyakit Bentuk; Tiada Diagnostik Diperlukan\' dan Kelakuan Tidak Ditakrifkan dalam C ?

Apakah Perbezaan Antara \'Penyakit Bentuk; Tiada Diagnostik Diperlukan\' dan Kelakuan Tidak Ditakrifkan dalam C ?

Barbara Streisand
Barbara Streisandasal
2024-11-21 03:06:11542semak imbas

What's the Difference Between

Perbezaan Antara "Ill-formed; No Diagnostic Required" dan Undefined Behavior

Dalam C , terdapat pelbagai kategori tingkah laku program yang tidak teratur, termasuk tidak jelas, tidak jelas, dan tidak jelas pelaksanaan. Walaupun tingkah laku yang tidak ditakrifkan membayangkan bahawa program itu salah, program yang tidak betul tidak terbentuk dengan baik.

Istilah "tidak terbentuk; tiada diagnostik diperlukan" mencadangkan program yang melanggar sintaks atau peraturan semantik, menjadikannya tersilap. Walau bagaimanapun, ketiadaan keperluan diagnostik menunjukkan bahawa ia adalah serupa dengan tingkah laku yang tidak ditentukan. Ketidakkonsistenan ini timbul kerana piawaian C cuba menghendaki diagnostik untuk semua ralat, manakala piawaian C menganggap semua ralat sebagai gelagat yang tidak ditentukan.

Perbezaan antara "tidak terbentuk; tiada diagnostik diperlukan" dan tingkah laku yang tidak ditentukan akhirnya terletak pada konteks tertentu. Yang pertama lebih kerap ditemui dengan ralat pengaturcaraan, manakala yang terakhir dikaitkan dengan isu masa jalan. Walau bagaimanapun, kedua-dua kes membayangkan bahawa tingkah laku program tidak dapat diramalkan dan berpotensi tersilap.

Oleh itu, walaupun perkataan mungkin berbeza, "tidak berbentuk; tiada diagnostik diperlukan" dan tingkah laku yang tidak ditentukan pada dasarnya menyampaikan maksud yang sama: program tidak boleh dianggap terbentuk dengan baik dan tingkah laku pelaksanaan tidak ditentukan.

Atas ialah kandungan terperinci Apakah Perbezaan Antara \'Penyakit Bentuk; Tiada Diagnostik Diperlukan\' dan Kelakuan Tidak Ditakrifkan dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn