逗号表达式 逗号表达式的求解

逗号表达式 逗号表达式的求解
逗号表达式的形式如下:   表达式1,表达式2,表达式3,...... ,表达式n   
逗号表达式的要领:   
(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。   
(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。   
(3) 逗号运算符的优先级别在所有运算符中最低。

main()
{
int x,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%dn",x,y,z);
}

A,2,3,3 B、2,3,2 C、2,3,1 D、1,1,1
  
解析:   x和y的值经过自增以后分别为2和3,D可以排除。剩下3个选项选择什么呢?   
如果是(x++,y++,++y)实际上可以看成(1,1,3)整个逗号表达式的值应该是3,那么选A。   
如果是(x++,++y,y++)实际上可以看成(1,2,2)整个逗号表达式的值应该是2,那么选B。   
但这是错的,这儿还有赋值运算符。赋值运算符 的优先级是14,而逗号表达式的优先级是15,也就是说上面的表达式中应该等价于这样的结合:(z=x++),y++,++y;如果这样写的话,则答案很清晰,为:2,3,1  
正确答案选C。

  

爱华网本文地址 » http://www.aihuau.com/a/25101016/285622.html

更多阅读

C++11中的lambda表达式 c lambda表达式 linq

C++11添加了一项名为lambda表达式的新功能,通过这项功能可以编写内嵌的匿名函数,而不必编写独立函数和函数对象,使得代码更容易理解。lambda表达式的语法如下所示:[capture_block](parameters) exceptions_specification-> return_type

24点扑克牌游戏的算法实现 扑克牌算24点游戏

昨天下班的时候,和同事在公司的班车上聊起24点的问题,回到家以后在带闺女的闲暇思考了一下,找到了一个可行的思路。二十四点扑克牌游戏大概所有人都玩过,规则非常简单,随机抽出四张牌,由1到9中的数字组成(当然也可以扩展到任意整数),然

转载 js中return的用法 c return的用法

原文地址:js中return的用法作者:风依旧_旭一、返回控制与函数结果,语法为:return 表达式;语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果二、返回控制,无函数结果,语法为:return;

KMP模式匹配算法中next和nextval的求解 kmp next

KMP算法是模式匹配专用算法。它是在已知模式串的next或nextval数组的基础上执行的。如果不知道它们二者之一,就没法使用KMP算法,因此我们需要计算它们。KMP算法由两部分组成:第一部分,计算模式串的next或nextval数组。第二部分,利用

声明:《逗号表达式 逗号表达式的求解》为网友坚强一点分享!如侵犯到您的合法权益请联系我们删除