Rumah >pembangunan bahagian belakang >C++ >Mengapa X % 0 merupakan Ungkapan Tidak Sah dalam Pengaturcaraan?
Operasi Bahagian dan Modulo dengan Pembahagi Sifar
Dalam pengaturcaraan, pengendali modulo (%) mengira baki apabila satu nombor dibahagikan dengan yang lain . Walau bagaimanapun, apabila pembahagi adalah sifar, ralat akan berlaku.
Mengapa X % 0 merupakan Ungkapan Tidak Sah?
Secara logiknya, seseorang mungkin menganggap bahawa X % 0 sepatutnya kembalikan bakinya, iaitu X. Walau bagaimanapun, menurut Piawaian C, adalah tingkah laku yang tidak ditentukan untuk melaksanakan sama ada operasi bahagi (/) atau modulo (%) dengan pembahagi sifar.
Tingkah Laku Tidak Tertakrif
Bahagian 5.6/4 Piawaian C dengan jelas menyatakan bahawa jika operan kedua / atau % ialah sifar, tingkah laku itu tidak ditentukan. Ini bermakna keputusan X % 0 tidak dapat diramalkan dan mungkin berbeza-beza bergantung pada pelaksanaan sistem dan pengkompil.
Contoh Tingkah Laku Tidak Ditakrifkan
Pertimbangkan kod berikut:
int x = 10; int result = x % 0; // Undefined behavior
Dalam contoh ini, nilai hasil tidak ditentukan dan boleh mengakibatkan ralat masa jalan atau akibat lain yang tidak dapat diramalkan.
Tingkah Laku Ditakrifkan Pelaksanaan untuk Operan Negatif
Adalah penting untuk ambil perhatian bahawa kelakuan pengendali modulo untuk operan negatif adalah ditakrifkan pelaksanaan. Jika kedua-dua operan adalah bukan negatif, bakinya adalah bukan negatif. Walau bagaimanapun, jika satu atau kedua-dua operan adalah negatif, tanda selebihnya tidak dapat diramalkan.
Atas ialah kandungan terperinci Mengapa X % 0 merupakan Ungkapan Tidak Sah dalam Pengaturcaraan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!