c++ - 带 or 表达式的 If 语句中的语法错误

标签 c++ syntax arguments

在我的 C++ 计算器代码中,我遇到了涉及以下子句中的 argc 变量的语法错误:

if (argc==4 || argv[3]="s"){
    result=no1 - no2;
    cout<<result<<endl;
    return 0;
} 

而以下具有相同结构的代码可以编译,

if ( a || b ){
    cout << "Line 2 - Condition is true"<< endl ;
}

我尝试将 if 表达式分解为两个单独的语句:

 if (argc==4)  
 {
if(argv[3]="s")
{
       result=no1 - no2;
       cout<<result<<endl;
       return 0;
 }
  }

但是如果执行命令calculator.exe 10 2 d,结果是8,这是不正确的。

如果有任何帮助,我将不胜感激。

最佳答案

一个简单的拼写错误:if (argc==4 || argv[3]="s"),第二个是赋值,并且始终为 true。将其更改为测试相等性:

if (argc==4 || strcmp(argv[3], "s") == 0) //strcmp for c strings
                   ^^^

关于c++ - 带 or 表达式的 If 语句中的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22137910/

相关文章:

c++ - const 引用绑定(bind)到右值

c++ - 它是正确的随机生成器函数吗?

命令行参数修改——C编程

javascript - PhantomJS 不接受传递给 page.evaluate() 的函数的参数

Python:使用参数取多个值评估函数

c++ - Analog Clock.exe : 0xC0000005: Access violation reading location 0x00000000 中 0x00BF57F9 处未处理的异常

c++ - 我=j=0;或 i=0; j=0;哪个更有效率?

linux - Bash 脚本中的新 xfreerdp 语法,即冒号 ( :) and forward slashes (/)

python - 在函数中使用时,列表推导中不需要方括号

syntax - Scala 中符号文字的一些示例用例有哪些?