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

2024-11-15 19:48:32
推荐回答(4个)
回答(1):

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语句之后的程序.

回答(2):

if(x=3)是赋值,x=3,跟判断条件没啥关系,if后面的语句是一定会被执行的。
if(x==3)这个是比较。只有当x的值是3的时候,if后面的语句才会被执行

回答(3):

if(x=3)
是对x赋值
if的结果恒等3(真),这是没有语法错误的if(x==3)判断x是否等于3有时写成if(3==x)来避免第一种情况出现

回答(4):

楼上两位解释得都对。