Rumah > pembangunan bahagian belakang > C++ > Mengapa Kod C Saya Membuang \'ISO C melarang perbandingan antara penunjuk dan integer\'?

Mengapa Kod C Saya Membuang \'ISO C melarang perbandingan antara penunjuk dan integer\'?

Barbara Streisand
Lepaskan: 2024-10-29 11:20:02
asal
733 orang telah melayarinya

 Why Does My C   Code Throw

Ralat Pengkompil: Larangan Perbandingan Penunjuk dan Integer dalam C

Isu pengkompil "ISO C melarang perbandingan antara penunjuk dan integer" timbul semasa penyusunan , menyerlahkan ralat kod yang berkaitan dengan perbandingan yang tidak betul antara penunjuk dan integer. Untuk menyelidiki resolusi, mari kita periksa kod yang disediakan:

Dalam kod yang diberikan, ralat berlaku dalam pernyataan if yang mana jawapan sedang diuji terhadap "y":

<code class="cpp">if (answer == "y") ...</code>
Salin selepas log masuk

Di sini , jawapan ialah pembolehubah aksara, manakala "y" ialah rentetan gaya C literal. Percubaan untuk membandingkan pembolehubah aksara kepada penuding kepada aksara (sebagaimana "y" diterjemahkan kepada penuding) mencetuskan ralat pengkompil.

Anda mempunyai dua penyelesaian yang berpotensi untuk menangani isu ini:

1. Gunakan Pembolehubah Rentetan:

Penyelesaian pilihan ialah menggunakan pembolehubah rentetan untuk jawapan dan bukannya pembolehubah aksara:

<code class="cpp">string answer;</code>
Salin selepas log masuk

Ini sejajar dengan amalan terbaik dan mengelakkan integer penunjuk ralat perbandingan.

2. Gunakan Pemalar Aksara:

Sebagai alternatif, anda boleh menggunakan pemalar aksara dengan petikan tunggal, yang mewakili aksara dan bukannya rentetan:

<code class="cpp">if (answer == 'y') ...</code>
Salin selepas log masuk

Kedua-dua penyelesaian menyelesaikan penuding dengan berkesan- larangan perbandingan integer, memastikan pelaksanaan kod yang betul.

Atas ialah kandungan terperinci Mengapa Kod C Saya Membuang \'ISO C melarang perbandingan antara penunjuk dan integer\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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