c++ - 有人可以向我解释一下输出吗?
问题描述
好的,所以当我将“=”更改为“”时if( (i = 4) || (i = 5) )
,==
它会返回 hello world。但是当“ =
”保持在“=”时,输出什么都没有。它没有给我语法错误,因为您需要将“ ==
”放在 if 中
void f( int i )
{
if( (i = 4) || (i = 5) ) return;
cout << "hello world\n" ;
}
int main()
{
f( 3 );
f( 4 );
f( 5 );
return 0;
}
所以当代码为“ if( (i = 4) || (i = 5) )
”时,输出什么都没有(因为屏幕是空的)。当代码为“ if( (i == 4) || (i == 5) )
”时,输出为hello world。
我的主要问题是:为什么输出会有所不同==
,=
但不会给我语法错误?
解决方案
正如@Carcigenicate 所说,==
并且=
是不同的。
==
用于比较,=
用于分配。
推荐阅读
- arrays - 如何在 xslt 中实现动态数组
- r - 在闪亮的应用程序中使用 amazon s3 图像
- python - 试图在来自 DataFrame 的切片副本上设置一个值 - 尝试了以前的解决方案
- json - Dart - List.generate 与 Future
- spring - Spring框架如何保证测试代码不在生产环境中执行?
- flutter - 如何向页面视图 Flutter 添加不同的项目
- c# - 有没有办法在 C# 中检测一个、组合或不检测多个布尔值?
- javascript - 在 Nuxt (Vue) 中使用 Axios 内部服务
- java - 如何让程序也能识别大写字母?
- python - Python Spark - 阈值后删除数据 - Pyspark