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中文網其他相關文章!