带有 or 表达式的 If 语句中的语法错误
Syntax error in If-statement with or-expression
在我的 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;
}
}
但是,如果执行命令,计算器.exe 10 2 d,则结果为8,这是不正确的。
我将不胜感激任何帮助。
一个简单的
错别字:if (argc==4 || argv[3]="s")
,第二个是赋值,并且永远是正确的。将其更改为测试相等性:
if (argc==4 || strcmp(argv[3], "s") == 0) //strcmp for c strings
^^^
"argc" 是 int. 类型,但 argv 是指针数组,它指向传递给程序的每个参数,并将这些参数存储为字符串。并且您无法将字符串与 == 进行比较。所以改用strcmp。
(strcpm(argv[3],"s")==0);
相关文章:
- 为什么包含windows.h会产生语法错误,从而阻止类的实例化?(C2146,C2065)
- 错误 C2760:语法错误:映射迭代器上意外的标记"标识符",预期的";"
- 为什么我会收到错误 C2143 语法错误:缺少"*"之前的';'?
- 奇怪的代码抛出编译错误模板< J,int aSize=10> C2143:语法错误:在"<"之前缺少";"
- "错误 C0000:语法错误,令牌"<EOF>"处出现意外$end,并且不确定
- 我该怎么做才能摆脱使用命名空间时的语法错误?
- 如何摆脱错误c2061;语法错误 cout?
- 语法错误:D3DX10Core 中的标识符'TEXTMETRICA'
- 错误 C2146:语法错误:标识符"A1"之前缺少","
- main.cpp(11):错误 C2059:语法错误:"字符串"
- RedisGraph 语法错误在偏移量 8 靠近"创建"
- 如何修复此 FSM C++语法错误 C3867
- 函数错误 C2059:语法错误:'>'不起作用
- 为什么在main()之前断言会导致语法错误"error: expected ')' before numeric constant"?
- c++default-int中的语法错误
- "pip install openexr"上的语法错误:错误的编译器?
- 为什么我收到语法错误:在"*"之前缺少";"
- 错误 C2059:语法错误:从结构成员声明'constant'
- C++语法错误,编译器不会警告或 int v = func(&v) 出错;
- 我正在调试这个C++程序.编译器不再显示语法错误,但存在隐藏的逻辑错误