if 语句的判断条件中不是必须要包含关系运算符,它可以是赋值表达式,甚至也可以是一个变量,常量 例如:
- //情况①
- if(b){
- //TODO:
- }
- //情况②
- if(b=5){ //情况①
- //TODO:
- }
都是允许的。只要整个表达式的值为非0,条件就成立。
上面两种情况都是根据变量 b 的最终值来判断的,如果 b 的值为非0,那么条件成立,否则不成立。
又如,有程序段:
- if(a=b)
- printf("%d",a);
- else
- printf("a=0");
意思是,把 b 的值赋予 a,如果为非0则输出该值,否则输出“a=0”字符串。