Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Adakah pemalar tidak ditentukan menilai kepada 0 dalam keadaan #if?

Adakah pemalar tidak ditentukan menilai kepada 0 dalam keadaan #if?

Barbara Streisand
Barbara Streisandasal
2024-11-12 17:03:02603semak imbas

Do undefined constants evaluate to 0 in #if conditions?

Pemalar Tidak Tertakrif dan Keadaan #jika

Apabila menggunakan prapemproses C atau C, adalah penting untuk memahami kelakuan pemalar tidak ditentukan dalam #if syarat.

Soalan:

Bolehkah pemalar yang tidak ditentukan boleh dipercayai untuk mempunyai nilai 0 untuk penilaian dalam keadaan #jika?

Jawapan:

Ya, pemalar yang tidak ditentukan boleh dipercayai untuk ini tujuan.

Penjelasan:

Mengikut standard C99 (§6.10.1 ¶3), dan begitu juga dalam standard C (§16.1 ¶4):

  • Selepas pengembangan makro dan operasi yang ditakrifkan secara unari, semua pengecam yang tinggal (termasuk pemalar tidak ditentukan) digantikan dengan nombor pp 0.

Oleh itu, adalah selamat untuk mengandaikan bahawa pemalar tidak ditentukan akan menilai kepada 0 dalam keadaan #if, yang memastikan kelakuan prapemproses yang konsisten.

Nota:

Dalam C , kata kunci benar dan palsu mempunyai makna istimewa semasa prapemprosesan dan tidak digantikan dengan 0.

Atas ialah kandungan terperinci Adakah pemalar tidak ditentukan menilai kepada 0 dalam keadaan #if?. 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