Rumah > Artikel > pembangunan bahagian belakang > Mengapa X % 0 Tidak Sah dalam Pengaturcaraan?
Boleh Mod Zero? Mengapa X % 0 Tidak Sah
Sebagai pengaturcara, kami sering bergantung pada operasi modulo untuk mencari baki. Walau bagaimanapun, melakukan X % 0 menimbulkan ralat atau menghasilkan tingkah laku yang tidak dijangka. Kenapa jadi begini?
Gelagat Tidak Ditakrifkan
Menurut Piawaian C (2003), X % 0 ialah ungkapan tidak sah. Bahagian 5.6/4 menyatakan bahawa:
"... Jika operan kedua / atau % adalah sifar, tingkah laku itu tidak ditentukan..."
Oleh itu, sebarang kod yang cuba melaksanakan operasi ini akan menggunakan gelagat tidak ditentukan (UB).
Gelagat Ditentukan Pelaksanaan
Satu lagi tingkah laku mengelirukan berkaitan operasi modulo melibatkan nombor negatif. Contohnya, -5 % 2 mungkin tidak selalu menghasilkan keputusan yang sama seperti -(5 % 2). Piawaian menyatakan bahawa:
"... Jika kedua-dua operan adalah bukan negatif, maka bakinya adalah bukan negatif; jika tidak, tanda bakinya ditentukan pelaksanaan."
Dalam erti kata lain , gelagat operasi modulo dengan nombor negatif tidak ditakrifkan secara eksplisit oleh standard dan boleh berbeza-beza bergantung pada pelaksanaan.
Atas ialah kandungan terperinci Mengapa X % 0 Tidak Sah dalam Pengaturcaraan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!