首页 > 解决方案 > c中的“if”块如何工作,如果在“if”块中赋值?例如 if(i=0){ //some code } 将流到 if 块中

问题描述

c 中的“if”块将如何评估 this 。“if”块内的代码会被执行吗?例如

int main(){
    int i;
if(i=0){
      //some code 
     }
return 0;
}

标签: c

解决方案


if (i = 0)会将值分配0i,然后检查表达式的值(即分配的值,即 0)是否非零。换句话说,它不会执行if. 它只会将 i 设置为 0。它还会对任何体面的编译器发出警告。

此外,if (i = 1)会将值 1 分配给 i 并始终执行主体。只有正文中的中断(或异常)会终止它。


推荐阅读