如果在“ if”块中分配一个值,c中的“ if”块如何工作?例如if(i = 0){//一些代码}将流到if块内部

时间:2018-09-30 23:36:48

标签: c

c中的“ if”块将如何对此进行评估。是否将执行“ if”块中的代码? 例如

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

1 个答案:

答案 0 :(得分:1)

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

而且,if (i = 1)会将值1分配给i并始终执行主体。体内只有一个中断(或例外)会终止它。