Apabila berurusan dengan literal integer dalam C , gelagat tertentu timbul apabila nombor itu bermula dengan sifar. Gelagat ini berkisar pada asas nombor yang ditafsirkan.
Apabila literal integer bermula dengan sifar, ia biasanya ditafsirkan sebagai nombor perlapanan, juga dikenali sebagai asas-8. Ini bermakna digit yang digunakan adalah dari 0 hingga 7. Contohnya, 07 bersamaan dengan nilai perpuluhan 7.
Walau bagaimanapun, apabila literal integer ialah 00x, ia adalah dianggap sebagai nombor perenambelasan, yang menggunakan asas-16. Ia bermula dengan awalan 0x dan menggunakan digit 0-9 dan A-F untuk mewakili nilai perpuluhan 0-15.
Ralat berlaku apabila literal integer bermula dengan 08 kerana gabungan ini tidak ditakrifkan dalam C . Tiada perkara seperti digit perlapanan 8.
Jika literal integer bermula dengan berbilang sifar, semua sifar pendahuluan kecuali yang pertama diabaikan. Sebagai contoh, 00016 ditafsirkan sebagai nombor perlapanan 16, yang bersamaan dengan nilai perpuluhan 14. Ini kerana 016 mewakili 14 dalam perlapanan.
Oleh itu, dalam contoh yang anda berikan:
Atas ialah kandungan terperinci Bagaimanakah Nombor Awalan Sifar Ditafsirkan dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!