分类：电脑/网络-程序设计
问题：为何下列程序不输出ok？intmain(){uintanswer 

int main()
{
    uint answer = 16;
    uint input = 400;
    if ( ((answer + 1<<2) * (answer + 1<<2)) <= input)
        cout<<"ok"<<endl;
    return 1;
}

回答：因为 < <优先级低于+的优先级，所以：
an swer + 1<<2 结果是： （answer + 1）<<2 = 68
所以：(a ns wer + 1<<2) * (an sw er + 1<<2))的结果是：4628

条件当然不成立了