码迷,mamicode.com
首页 > 其他好文 > 详细

C的日记-运算符优先级和结合方向

时间:2015-04-16 12:10:49      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

 


#:同等优先级运算符,运算次序由结合方向决定;不同优先级运算符,运算次序由优先级从高到低。
   结合方向大多从左向右执行,但【单目】【条件】【赋值】运算符是从右向左执行。
        初等运算符    () [] -> .
            |
        单目运算符    ! ~ ++ -- -【负号】 (类型) *【指针】 & sizeof
            |
        算数运算符    *【乘法】 / % + - >> <<
            |
        关系运算符    < <= > >= == != & |
            |
        逻辑运算符    || &&  
            |
        条件运算符    ? :
            |
        赋值运算符    = += -= *= /= %= >>= <<= &=  
            |
        逗号运算符    ,


例:

  <1>*p++,*和++一个等级,从右向左,先执行地址+1,在执行去除对应值。
      <2>*(p++)和*(++p),前者是先对p进行运算后地址加1,后者是地址先加1后执行运算。
      <3>(*p)++,先找出当前p对应的变量值,然后变量自加1,如p=a,(*p)++ = a[0]+1。
      <4>while((*to++ = *from++)!=‘\0‘)先将*from赋值给*to,然后to和from自加1,最后判断*to是不是‘\0’,不是继续赋值
     

C的日记-运算符优先级和结合方向

标签:

原文地址:http://www.cnblogs.com/yzxk/p/4431588.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!