Rumah > pembangunan bahagian belakang > C++ > Bolehkah Anda Mengisytiharkan Pembolehubah Pelbagai Jenis dalam C Untuk Permulaan Gelung?

Bolehkah Anda Mengisytiharkan Pembolehubah Pelbagai Jenis dalam C Untuk Permulaan Gelung?

Patricia Arquette
Lepaskan: 2024-12-17 13:16:25
asal
1004 orang telah melayarinya

Can You Declare Variables of Different Types in a C   For Loop Initialization?

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; ...)
{
    // ...
}
Salin selepas log masuk

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'; ...)
{
    // ...
}
Salin selepas log masuk

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;
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan