C++ 计算表达式

C++ 计算表达式,c++,expression,C++,Expression,我有: 当我回答这个问题时,我感到困惑,这个问题应该有正确的答案a: 鉴于声明: 静态int i,t[10] 假设i和t都未显式初始化,则表达式的值 (i==0)和&(t[i]您的问题在于运算符优先级。在发布显示“问题”的代码示例后,将对&&运算符进行评估.即使这返回true:-使用括号!尝试coutI编辑问题,以便您能够理解我为什么没有使用coutIf:更多括号!感谢您的澄清。我知道我应该用括号包围整个表达式。我编辑问题是为了解释我为什么尝试使用这种方式。C++标准这是必须的。如果他们像你说的

我有:

当我回答这个问题时,我感到困惑,这个问题应该有正确的答案a:

  • 鉴于声明:
  • 静态int i,t[10]

    假设i和t都未显式初始化,则表达式的值
    (i==0)和&(t[i]您的问题在于运算符优先级。在
    发布显示“问题”的代码示例后,将对
    &&
    运算符进行评估.
    即使这返回true:
    -使用括号!尝试
    coutI编辑问题,以便您能够理解我为什么没有使用
    coutIf:更多括号!感谢您的澄清。我知道我应该用括号包围整个表达式。我编辑问题是为了解释我为什么尝试使用这种方式。C++标准这是必须的。如果他们像你说的那样给出了(a)的答案,那么他们是错的。这就是我所想的,但我试着
    cout
    
    #include <iostream>
    int main()
    {
        static int i, arr[10];
        cout<<(i==0) && (arr[i]<0);
    } 
    
    #include <iostream>
    int main()
    {
        static int i;
        cout<<(i==0) && (i==1);
    }