Tidak Boleh Mod Zero?
Mengapakah ungkapan X % 0 tidak sah dalam bahasa pengaturcaraan seperti C ? Secara intuitif, seseorang mungkin menjangkakan ia akan mengembalikan baki X, serupa dengan pembahagian.
Menurut Piawaian C (2003), kelakuan pengendali / dan % tidak ditentukan apabila operan kedua (pembahagi) adalah sifar:
[...] If the second operand of / or % is zero the behavior is undefined [...]
Oleh itu, ungkapan berikut menggunakan gelagat tidak ditentukan (UB):
X / 0; // UB X % 0; // UB
Tingkah laku yang tidak ditentukan ini bermakna hasil tepat ungkapan ini tidak dapat diramalkan dan boleh berbeza-beza bergantung pada pengkompil atau pelaksanaan tertentu.
Selain itu, adalah penting untuk ambil perhatian bahawa baki -5 % 2 bukan sekadar negatif 5 % 2. Tanda baki apabila kedua-dua operan tidak positif ialah pelaksanaan -ditakrifkan, tidak diseragamkan.
Atas ialah kandungan terperinci Mengapa X % 0 Tidak Sah dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!