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!