#2176. C++-编译-错将条件运算符==写成=,同时左值刚好为变量

C++-编译-错将条件运算符==写成=,同时左值刚好为变量

Background

Description

错将条件运算符==写成=,同时左值刚好为变量

有些编译器会给一个​**warning:using the result of an assignment as a condition without parentheses [-Wparentheses]**​,然而许多的编译器可能会忽略掉这个潜在的错误

这里不报错的原因是,赋值运算符=是有返回值的,返回的是赋的值,而判断语句会将所有不是0的值都看成true

(比如a=3这句语句的返回值是3,如果a=3放在条件语句中,其返回值3会被认为是true)

int a=3;
if (a=3) cout<<a;     //错误的
if (a==3) cout<<a;    //改正后

Format

Input

Output

Samples



Limitation

1s, 1024KiB for each test case.