C++中if(x=3)和if(x==3)有什么不同??

如题所述

if语句的判定条件是 bool值 即true 与 false
而 bool值可以与int等类型的值相切换
即 false 的值为0; 其他非零值都为true

"=" 是赋值操作符 "=="是比较操作符
if(x = 3)即 x的值为3,也就是 true 进入if语句
if(x == 3)是用来看x的值是否与3相等,如果相等,则值为true,进入if语句;如果不想等则if语句的判定条件为false,进入后面的else语句.如果没有else语句,则执行if语句之后的程序.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-31
if(x=3)是赋值,x=3,跟判断条件没啥关系,if后面的语句是一定会被执行的。
if(x==3)这个是比较。只有当x的值是3的时候,if后面的语句才会被执行
第2个回答  2020-01-28
if(x=3)
是对x赋值
if的结果恒等3(真),这是没有语法错误的if(x==3)判断x是否等于3有时写成if(3==x)来避免第一种情况出现
第3个回答  2010-08-31
楼上两位解释得都对。
相似回答