Compiler Error: Pointer and Integer Comparison Prohibition in C
编译时出现编译器问题“ISO C forbids Comparison Between Pointer and Integer” ,突出显示与指针和整数之间的不正确比较相关的代码错误。为了深入研究解决方案,让我们检查提供的代码:
在给定的代码中,错误发生在 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中文网其他相关文章!