首頁 >後端開發 >C++ >為什麼我的 C 程式碼會拋出「ISO C 禁止指標與整數之間的比較」?

為什麼我的 C 程式碼會拋出「ISO C 禁止指標與整數之間的比較」?

Barbara Streisand
Barbara Streisand原創
2024-10-29 11:20:02646瀏覽

 Why Does My C   Code Throw

Compiler Error: Pointer and Integer Comparison Prohibition in C

編譯時出現編譯器問題「ISO C forbids Compson ,突出顯示與指標和整數之間的不正確比較相關的代碼錯誤。為了深入研究解決方案,讓我們檢查提供的程式碼:

在給定的程式碼中,錯誤發生在if 語句內,其中針對「y」測試答案:

<code class="cpp">if (answer == "y") ...</code>

此處,answer 是一個字元變量,而“y”是一個C 風格的字串文字。嘗試將字元變數與指向字元的指標(“y”轉換為指標)進行比較會觸發編譯器錯誤。

您有兩種可能的解決方案來解決此問題:

1。使用字串變數:

首選解決方案是使用字串變數代替字元變數:

<code class="cpp">string answer;</code>

這符合最佳實踐並避免指標整數比較錯誤。

2.使用字元常數:

或者,您可以使用單引號的字元常數,它表示字元而不是字串:

<code class="cpp">if (answer == 'y') ...</code>

兩個解都有效地解析了指標-禁止整數比較,確保程式碼正確執行。

以上是為什麼我的 C 程式碼會拋出「ISO C 禁止指標與整數之間的比較」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn