Penghadan "cin" Turbo C: Membaca Hanya Perkataan Pertama
Dalam Turbo C , pengendali input "cin" mempunyai had apabila berurusan dengan tatasusunan aksara. Khususnya, ia hanya membaca sehingga ia menemui aksara ruang putih (cth., ruang atau baris baharu). Ini boleh membawa kepada tingkah laku yang tidak dijangka apabila cuba membaca input berbilang perkataan.
Pertimbangkan kod Turbo C berikut:
<code class="c++">#include <iostream.h> class String { char str[100]; public: void input() { cout << "Enter string: "; cin >> str; } void display() { cout << str; } }; int main() { String s; s.input(); s.display(); }</code>
Jika anda menjalankan kod ini dan masukkan input "Steve Hawking, " anda menjangkakan output untuk memaparkan keseluruhan rentetan. Walau bagaimanapun, disebabkan oleh pengehadan "cin", hanya "Steve" dipaparkan, kerana "cin" berhenti membaca pada aksara ruang kosong pertama (ruang).
Mengatasi Had
Untuk menangani had ini, anda boleh menggunakan kaedah alternatif untuk membaca tatasusunan aksara dalam Turbo C :
Cadangan
Pendekatan yang disyorkan pada masa kini ialah menggunakan penyusun C moden dan perpustakaan standard. Ini menyediakan pengendalian input yang lebih dipercayai dan cekap, termasuk keupayaan untuk membaca keseluruhan baris input.
Atas ialah kandungan terperinci Mengapa Turbo C \'cin\' Hanya Membaca Perkataan Pertama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!