首页 >后端开发 >C++ >为什么我的 C 代码抛出'ISO C 禁止指针与整数之间的比较”?

为什么我的 C 代码抛出'ISO C 禁止指针与整数之间的比较”?

Barbara Streisand
Barbara Streisand原创
2024-10-29 11:20:02642浏览

 Why Does My C   Code Throw

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn