1个回答

c/c++语言各种运算符操作符的优先级顺序为什么这样规定?

知乎用户
1个点赞 👍

优先级取决于c或c++的语法图或BNF范式定义,两者是等价的,只有弄懂了全部的语法图,才能完整地掌握c或c++,才能正确地写c或c++程序,否则,你可能认为某些程序匪夷所思,甚至以为不是C++程序,如下链接教程中main函数体对称或回文的实例参见:

int nruter=-1;

int main(int C,char*A[],char**B=0)

{;[A,B](){;return +C+ nruter;}()[B,A];}

如果你找到C++最新国际标准C++2023的语法图或BNF文法说明,你用语法图或BNF文法匹配一遍,发现上述程序是正确的C++程序。

在语法图中或BNF中,越早出现的运算符优先级越低。部分c++语法图参见教程zhihu.com/question/6109。C或C++的水平自测参见zhihu.com/question/6109

C十十20年
自由评论 (0)
分享
Copyright © 2022 GreatFire.org