Rumah >pembangunan bahagian belakang >C++ >Bolehkah Anda Mengisytiharkan Pembolehubah Pelbagai Jenis dalam C Untuk Permulaan Gelung?
Mengisytiharkan Pembolehubah Pelbagai Jenis dalam Permulaan Untuk Gelung
Dalam C , tidak mungkin untuk mengisytiharkan pembolehubah jenis berbeza dalam badan permulaan bagi gelung untuk. Ini kerana bahagian permulaan gelung menjangkakan satu ungkapan, yang hanya boleh mentakrifkan pembolehubah daripada jenis yang sama.
Pertimbangkan contoh berikut:
for (int i = 0, j = 0; ...) { // ... }
Kod ini mentakrifkan dua pembolehubah integer dengan betul i dan j. Walau bagaimanapun, jika anda cuba mengisytiharkan integer dan aksara dalam permulaan, ia akan mengakibatkan ralat kompilasi:
for (int i = 0, char c = 'a'; ...) { // ... }
Penyelesaian Teknikal
Walaupun tidak disyorkan dalam senario praktikal, terdapat penyelesaian teknikal untuk mengisytiharkan jenis yang berbeza dalam permulaan gelung untuk. Ia melibatkan mencipta satu struct yang mengandungi jenis yang diingini dan kemudian menggunakan struct ini sebagai ungkapan permulaan:
struct MyStruct { int a; char b; }; for (MyStruct s = { 0, 'a' }; s.a < 5; ++s.a) { std::cout << s.a << " " << s.b << std::endl; }
Dalam contoh ini, kami mencipta MyStruct dengan dua ahli, a (integer) dan b ( watak). Inisialisasi gelung menetapkan contoh MyStruct s untuk mempunyai sama dengan 0 dan b sama dengan 'a'. Gelung kemudian diteruskan selagi s.a kurang daripada 5.
Atas ialah kandungan terperinci Bolehkah Anda Mengisytiharkan Pembolehubah Pelbagai Jenis dalam C Untuk Permulaan Gelung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!