if函数里面是变量和是等式的区别是什么?比如说if( j )和if( j = 1 )的区别?

如题所述

if括号里边是变量的话会默认将变量与该变量下的零值作比较,非零则认为条件满足,为零则认为不满足,if括号里边是等式时则比较等号左右值是否相等,若相等则认为条件满足,否则认为不满足;
而您举得例子if( j )属于括号里边是变量的情况,只要j非零就执行if分支,而if( j = 1 )的作用是基本没用,因为括号里边的值取的是赋值表达式的值,即取的是j的值,而j在取值前被赋值为1,则条件恒成立,肯定会执行if分支。这种写法不属于前两种中的任何一种。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-06
if(j)直接判断j是否非零值,不是零的话就满足,否则不满足条件;if(j==1)是判断j的值是否等于1,是的话就满足条件否则不满足条件;我觉得LZ是想问if( j )和if( j == 1 )的区别。
第2个回答  2012-01-06
if(j)直接判断j是否非零值;if(j=1)是将j的值赋为1,再判断是否为非零值(当然,是个人都看出来了);补充一下,if(j==1)是判断j的值是否等于1,希望LZ不要将=和==弄混:=是赋值,==是判断是否相等的一个逻辑运算符本回答被提问者采纳
相似回答