Pemalar Tidak Ditakrifkan dalam Prapemproses #jika Keadaan: Keputusan Ditakrifkan atau Tidak Ditakrifkan?

Linda Hamilton
Lepaskan: 2024-11-10 13:25:02
asal
436 orang telah melayarinya

Undefined Constants in Preprocessor #if Conditions: Defined or Undefined Results?

Pemalar Tidak Ditakrifkan dalam Prapemproses #jika Keadaan: Keputusan Ditakrifkan atau Tidak Ditakrifkan?

Soalan:

Dalam C/C , apakah nilai yang diandaikan untuk pemalar tidak ditentukan apabila digunakan dalam prapemproses #jika keadaan? Bolehkah andaian ini dipercayai, atau bolehkah pemalar yang tidak ditentukan menghasilkan tingkah laku yang tidak dapat diramalkan?

Jawapan:

Menurut piawaian C99, pemalar tidak ditentukan sememangnya diandaikan mempunyai nilai daripada 0 untuk menilai keadaan #jika. Ini dinyatakan dengan jelas dalam §6.10.1 ¶3:

"Selepas semua penggantian disebabkan pengembangan makro dan pengendali unari yang ditentukan telah dilakukan, semua pengecam yang tinggal digantikan dengan nombor pp 0."

Begitu juga, piawai C (§16.1 ¶4) menyatakan:

"Selepas semua penggantian disebabkan pengembangan makro dan pengendali unari yang ditentukan telah dilakukan, semua pengecam dan kata kunci yang tinggal, kecuali benar dan false, digantikan dengan nombor pp 0."

Oleh itu, anda boleh mengandaikan dengan pasti bahawa pemalar yang tidak ditentukan akan dianggap sebagai 0 dalam prapemproses #jika keadaan.

Atas ialah kandungan terperinci Pemalar Tidak Ditakrifkan dalam Prapemproses #jika Keadaan: Keputusan Ditakrifkan atau Tidak Ditakrifkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan