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
662 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!

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