c - c中的“if”块如何工作,如果在“if”块中赋值?例如 if(i=0){ //some code } 将流到 if 块中
问题描述
c 中的“if”块将如何评估 this 。“if”块内的代码会被执行吗?例如
int main(){
int i;
if(i=0){
//some code
}
return 0;
}
解决方案
if (i = 0)
会将值分配0
给i
,然后检查表达式的值(即分配的值,即 0)是否非零。换句话说,它不会执行if
. 它只会将 i 设置为 0。它还会对任何体面的编译器发出警告。
此外,if (i = 1)
会将值 1 分配给 i 并始终执行主体。只有正文中的中断(或异常)会终止它。
推荐阅读
- kubernetes - 为什么我们在 Kuberntes 部署/容器定义中需要一个端口/容器端口?
- apache-kafka - 哪个版本的 Kafka Stream 会更高效?
- java - 无法从代码插入中间表,但是当从 MySQL 中的 phpmyadmin 执行时,它会正确插入
- dataframe - 如果不存在,pyspark 数据框添加值
- c# - 从复选框更改布尔值
- presto - Presto 作业在集群模式下不工作,仅使用一个节点性能
- javascript - 如何修复图像元素上的绑定
- java - RxJava2 Completable 未按预期组合
- pyspark - 使用 PySpark 使用 Kerberos 身份验证读取 HDFS 上的文件
- python - Windows 上 Python 3.7.4 中的控制台输出错误(pytest 5.0.1)