Perbezaan Antara Penentu Format %i dan %d dalam Fungsi I/O Terformat (printf / scanf)
Fungsi I/O terformat seperti printf dan scanf gunakan penentu penukaran untuk mengawal cara data diwakili semasa input atau output. Antara penentu ini, %i dan %d biasanya digunakan untuk integer.
Penggunaan untuk Output (%i lwn. %d)
Apabila digunakan sebagai penentu format untuk output, tiada perbezaan antara %i dan %d. Kedua-duanya menghasilkan hasil yang sama. Ia mewakili nilai integer dalam format perpuluhan.
Penentukan Input
Walau bagaimanapun, perbezaan muncul apabila menggunakan %i dan %d sebagai penentu input (dalam scanf ). Di sinilah letaknya perbezaan utama:
%i: Tingkah laku lalai adalah serupa dengan %d (integer perpuluhan bertanda). Walau bagaimanapun, ia mempunyai ciri tambahan: ia membenarkan input dalam asas lain, seperti:
Contoh Praktikal
Untuk menggambarkan perbezaannya, pertimbangkan rentetan input "033".
Ringkasnya, manakala %i dan %d berkelakuan serupa untuk output, mereka berbeza dalam tingkah laku mereka untuk input. %i menyediakan kefungsian lanjutan dengan membenarkan input perenambelasan dan perlapanan, manakala %d terhad kepada input perpuluhan yang ditandatangani.
Atas ialah kandungan terperinci %i lwn. %d dalam C: Bilakah Penentu Format Ini Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!