gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 01:05:45 24 4
gpt4 key购买 nike

在我的 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"),第二个是赋值,永远为真。将其更改为测试相等性:

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

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com