您好、欢迎来到现金彩票网!
当前位置:秒速牛牛 > 条件运算符 >

C语言条件运算符问题

发布时间:2019-07-17 09:00 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。

  所有的优先级中,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。其它的都是从左至右结合。

  具有最高优先级的其实并不算是真正的运算符,它们算是一类特殊的操作。()是与函数相关,[]与数组相关,而-及.是取结构成员。

  其次是单目运算符,所有的单目运算符具有相同的优先级,因此在我认为的 真正的运算符中它们具有最高的优先级,又由于它们都是从右至左结合的,因此*p++与*(p++)等效是毫无疑问的。

  另外在C语言里 没有前置后置之分 因为++ -- 是右结合所以 右侧优先运算 表现为 后置优先级比较高 的假象 前置和后置的区分是因为运算符重载而后加入C++的

  在C语言中,只有4个运算符规定了运算方向,它们是&&、 、条件运算符及赋值运算符。

  &&、 都是先计算左边表达式的值,当左边表达式的值能确定整个表达式的值时,就不再计算右边表达式的值。如 a = 0 & &&运算符的左边位0,则右边表达式b就不再判断。

  在条件运算符中。如a?b:c;先判断a的值,再根据a的值对b或c之中的一个进行求值。

  赋值表达式则规定先对右边的表达式求值,因此使 a = b = c = 6;成为可能。

http://scare666.com/tiaojianyunsuanfu/695.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有