== 和 =,为什么a==0也可以编译

问题相关代码,请勿粘贴截图

#include <iostream>
using namespace std;

int main()
{
    int a = 0;
    a == 2;

    return 0;
}

运行结果及报错内容

我的解答思路和尝试过的方法

我想要达到的结果
能说说还有哪些我们平时能遇到的类似这样语句吗

语法规定可以就是可以,没有为什么,你知道了就行了。如果非的要问为什么,你要问设计语言的人
还有很多,需要去查,我这儿列举几个。

#include <iostream>

using namespace std;



int main()
{
    int a = 0;
    a == 2;

    1;

    true;

    ;
    ;
    ;

    while (a == 0, 1 == 2, true == false);

    if (!!!a);

    try
    {
    }
    catch (...)
    {
        
    }

    for (;;);

    return 0;
}

a=0是赋值操作a==0是运算符号,判断a是否等于零