if(x=0)if(x=1)

设int i=5,f=15; 则执行语句 if(i=0) f-=5; 后i和f的值分别是   C   。
A) 5,15   B) 5,10     C) 0,15     D) 0,10

i=0相当于赋值后面的不执行
但是如果换成i=1或者i=2这种赋值就会执行
这是为什么
求解答一下

i=0意思是给i赋值为0,if(i),括号里为0,即假,不执行
i=1,i=2,if(i),括号里非0,即真,执行
望采纳!

选C

因为 if (i = 0) 相当于把i的值赋值为0,因此 if语句内的语句 f -= 5; 会被执行。
最后i的值是0,f的值是10。