Rumah >pembangunan bahagian belakang >C++ >Apakah Perbezaan Utama Antara Penentu Format `%i` dan `%d` dalam `printf` dan `scanf` C?
Memahami Perbezaan Antara Penentu Format %i dan %d
Apabila menggunakan fungsi input/output terformat seperti printf dan scanf, penentu format memainkan peranan yang penting peranan dalam mengawal jenis data yang akan dicetak atau dibaca. Antaranya, penentu %d (integer) dan %i (integer) memerlukan pertimbangan yang teliti.
Penggunaan dalam printf
Untuk operasi output, tiada perbezaan fungsi antara %d dan %i. Kedua-duanya akan mengeluarkan integer perpuluhan yang ditandatangani. Sebagai contoh, menggunakan sama ada %d atau %i dengan nilai integer 100 akan menghasilkan rentetan "100".
Penggunaan dalam scanf
Walau bagaimanapun, perbezaan antara %d dan %i menjadi jelas dalam operasi input. Semasa %d mengimbas integer perpuluhan yang ditandatangani dengan ketat, %i menyokong format perpuluhan, perenambelasan dan perlapanan.
Untuk menggambarkan perbezaan, pertimbangkan contoh berikut:
scanf("%i", &number);
Jika pengguna memasukkan "033" , %i akan mentafsirkannya sebagai nombor perlapanan dan memberikan nilai 27 kepada 'nombor' pembolehubah, manakala %d akan menetapkan 33.
Atas ialah kandungan terperinci Apakah Perbezaan Utama Antara Penentu Format `%i` dan `%d` dalam `printf` dan `scanf` C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!