C语言运算符优先级

C语言运算符的优先级是由C文法固化的,按照文法的相互依赖关系就自然获得运算符的优先级

因此,,熟悉C语言文法,来了解C运算符优先级,要比死记硬背优先级表格来的高级,而且能够回答初学者的疑惑:优先级为什么这样顺序?更重要的是,能够知道C语言“复合”表达式是如何结合运算的。

此外,只有里奇的那本C语言书籍提到了C文法了,其余C语言书籍都没有提到,上来都是“必须”“应该”记住的硬性说明!其实,熟悉了C文法,这些优先级问题才不再是问题!

依据C99的表达式产生式,为了方便理解,整理成如下产生式转换图,其中蕴含的运算符的优先级一目了然!

图片查看大图方式:方式1:右键保存!方式2:在新tab中打开图像(chrome具有此功能)!

注:C99和C89在表达式文法的唯一差别在于:C99的postfix exp产生式中引入了两条新的产生式(type-name) {初始化列},其余运算符和里奇当初的设计的都没有区别!

只是需要垮上后座的勇气和一颗想走即走的心,

C语言运算符优先级

相关文章:

你感兴趣的文章:

标签云: