Cara menukar aksara bahasa C kepada nombor: 1. Gunakan penukaran jenis paksa untuk memaksa aksara '5' kepada jenis integer, dan kemudian tolak nilai kod ASCII aksara '0' untuk mendapatkan nombor 5; Gunakan perpustakaan Function atoi(), tukar rentetan "123" kepada integer 123 melalui fungsi atoi(), dan cetak hasilnya 3. Gunakan fungsi perpustakaan sscanf() untuk membaca integer daripada rentetan "456"; melalui fungsi sscanf() , dan simpan hasilnya dalam nombor pembolehubah, dan akhirnya mencetak hasilnya.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi C++ 20, komputer DELL G3.
Dalam bahasa C, aksara disimpan dalam bentuk kod ASCII. Kod ASCII ialah sistem pengekodan yang sepadan dengan aksara kepada nombor Ia mentakrifkan pengekodan standard 128 aksara. Dalam bahasa C, terdapat beberapa kaedah untuk menukar aksara kepada nombor.
1. Gunakan penghantaran jenis:
Dalam bahasa C, anda boleh menggunakan hantaran jenis untuk menukar aksara kepada nombor yang sepadan. Sebagai contoh, untuk menukar aksara '5' kepada nombor 5 yang sepadan, anda boleh menggunakan kod berikut:
char c = '5'; int num = (int) c - '0';
Dalam contoh ini, aksara '5' dilemparkan kepada integer, dan kemudian nilai kod ASCII aksara itu '0' ditolak untuk mendapatkan nombor 5. Ini kerana kod ASCII aksara '0' hingga '9' meningkat dalam urutan, dan dengan menolak nilai kod ASCII aksara '0', nombor yang sepadan boleh diperolehi.
2. Gunakan fungsi perpustakaan atoi():
Pustaka stdlib.h dalam bahasa C menyediakan fungsi atoi() yang boleh menukar rentetan kepada integer. Parameter fungsi ini ialah rentetan, dan nilai pulangan ialah integer yang sepadan.
#include #include int main() { char str[] = "123"; int num = atoi(str); printf("%d\n", num); return 0; }
Dalam contoh ini, rentetan "123" ditukar kepada integer 123 melalui fungsi atoi() dan hasilnya dicetak.
3 Gunakan fungsi perpustakaan sscanf():
Pustaka stdio.h dalam bahasa C menyediakan fungsi sscanf() yang boleh membaca data daripada rentetan dalam format tertentu. Dengan menentukan format sebagai "%d", anda boleh menukar rentetan kepada integer.
#include int main() { char str[] = "456"; int num; sscanf(str, "%d", &num); printf("%d\n", num); return 0; }
Dalam contoh ini, fungsi sscanf() digunakan untuk membaca integer daripada rentetan "456", menyimpan hasil dalam nombor pembolehubah, dan akhirnya mencetak hasilnya.
Sama ada anda menggunakan penukaran jenis paksa, fungsi atoi() atau fungsi sscanf(), aksara boleh ditukar kepada nombor yang sepadan. Perlu diingatkan bahawa julat hasil penukaran hendaklah dalam julat yang boleh diwakili oleh integer, jika tidak, ia mungkin melimpah. Selain itu, pastikan aksara adalah aksara angka semasa proses penukaran, jika tidak, keputusannya mungkin tidak tepat.
Atas ialah kandungan terperinci Bagaimana untuk menukar aksara bahasa C kepada nombor. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!