为什么会为if(age!<= 0 || age!> = 110)引发编译时错误?

Bal*_*sök 1 c++ if-statement compare

我是一名学生,当时我正在编写一个非常简单的控制台应用程序,但是以下行出现了编译时错误:

我尝试了以下操作,但只出现了更多错误:

if((age!<=0) || (age!>=110)){/*Some code*/}
Run Code Online (Sandbox Code Playgroud)
if(age!<=0 || age!>=110){/*Some code*/}   
Run Code Online (Sandbox Code Playgroud)

对于第一个代码,构建消息如下:

|| ===构建:在Drill中调试(编译器:GNU GCC编译器)=== |

使用C ++ \ Code and Notes \ 3 \ Drill \ main.cpp的原理和实践||在函数'int main()'中:|

使用C ++ \ Code and Notes \ 3 \ Drill \ main.cpp | 41 |错误的原则和实践:预期在'!'之前的')' 令牌|

|| ===构建失败:1个错误,0个警告(0分钟,0秒)=== |

对于第二个代码,构建消息如下:

|| ===构建:在Drill中调试(编译器:GNU GCC编译器)=== |

使用C ++ \ Code and Notes \ 3 \ Drill \ main.cpp的原理和实践||在>函数'int main()'中:|

使用C ++ \ Code and Notes \ 3 \ Drill \ main.cpp | 41 |错误的原理和实践:>在'!'之前出现')' 令牌|

使用C ++ \ Code and Notes \ 3 \ Drill \ main.cpp | 52 |错误的原理和实践:输入的末尾> expected')'

使用C ++ \ Code and Notes \ 3 \ Drill \ main.cpp | 52 |的原则和实践:错误:>输入末尾的预期语句|

使用C ++ \ Code and Notes \ 3 \ Drill \ main.cpp | 52 |错误的原则和实践:>在输入末尾出现预期的'}'|

|| ===构建失败:4个错误,0个警告(0分钟,0秒)=== |

另外,我尝试将')'放在'!'之前,但没有帮助。

小智 7

C ++中的关系运算符

  • ==等于
  • !=不等于
  • >大于
  • <小于
  • > =大于或等于
  • <=小于或等于

您应该尝试这样的事情,而不是使用不允许的关系运算符

if(!(age<=0) || !(age>=110)){/*Some code*/}
Run Code Online (Sandbox Code Playgroud)

要么

if((age>0) || (age<110)){/*Some code*/}
Run Code Online (Sandbox Code Playgroud)

要么

if(!(age<=0 || age>=110)){/*Some code*/}   
Run Code Online (Sandbox Code Playgroud)

要么

if((age>0 || age<110)){/*Some code*/}   
Run Code Online (Sandbox Code Playgroud)

希望对您有所帮助

  • 您的回答是正确的,但应注意`age&gt; 0 || age &lt;110`对所有整数均适用。 (8认同)