简单的问题最极致的享受

if(x=y)
不是赋值语句吗,为什么这个if语句没错

为什么会有错?
if条件中,允许表达式,赋值也是表达式,不一定是判断表达式,这是很正常的if条件。

你这标签,恨不得把知道的语言全打上去
如果是C#,这样写就会报错,不允许在判断语句里赋值,必须是比较
如果是C和C++,就可以这样写,等价于
x=y;
if(x)

x和y都是什么类型的?