共1个回答0条评论
分享
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++语法图参见教程https://www.zhihu.com/question/610987898/answer/3108746910?utm_psn=1873266529581273088。C或C++的水平自测参见https://www.zhihu.com/question/610987898/answer/3108746910?utm_psn=1873268548530487296。
查看全文>>
C十十20年