前言:
今天你们对“c语言三目运算符优先级”大约比较关切,你们都想要学习一些“c语言三目运算符优先级”的相关文章。那么小编同时在网上汇集了一些有关“c语言三目运算符优先级””的相关文章,希望同学们能喜欢,小伙伴们快快来了解一下吧!C语言陷阱【语法陷阱】
2、运算符的优先级问题
运算符是C语言表达式的重要组成部分,正确编写C程序表达式要注意运算符的优先级,否则会产生预想不到的问题。如:If(f1 & f2 !=0),本意是先计算f1&f2,再判断其值是否为0,但由于运算符!=的优先级高于&,实际上表达式被解释为:f1&(f2!=0),先判断f2是否为0,然后再与f1进行&运算。
C语言中的运算符包括,单目运算符、双目运算符、三目运算符。其优先级大小关系为:单目运算符>双目运算符>三目运算符。具体优先级如下图:
所以,while(c=getc(in)!=EOF)
Put(c,out);
中c=getc(in)!=EOF,因为!=的优先级高于赋值运算符,该表达式实际被解释为:c=(getc(in)!=EOF),首先判断getc(in)是否不等于EOF,然后将判断结果赋值给c。
本期问题:*p++ 的解释结果,*p()的解释结果。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #c语言三目运算符优先级