问一个试题的回答规范

_郭 2016-04-15 10:05:30

引用
表达式a=1,a+=1,a+1,a++的值是____________。


例如以上这样的题问的是整个表达式的值,还是表达式执行后a的值,应该怎样理解这样的命题逻辑及怎么区分


...全文
217 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
encoderlee 2016-04-28
  • 打赏
  • 举报
回复
很明显题目问的是整个表达式的值
ksx_120999 2016-04-28
  • 打赏
  • 举报
回复
http://baike.baidu.com/link?url=JH9DKpiLMUjKQQjjqGYfiOgki-2pGiSGAwZbKtitxq_BBZAk8bwz30DRBO_W_Ko2AuJDjkTr8vRYPVtBhL0eqq int a1,a2,b=2,c=7,d=5; a1=(++b,c--,d+3); a2=++b,c--,d+3; 对于给a1赋值的代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是(d+3)的值,为8,所以a1的值为8。 对于给a2赋值的代码,也是有三个表达式,这时的三个表达式为a2=++b、c--、d+3,(这是因为赋值运算符比逗号运算符优先级高)所以最终表达式的值虽然也为8,但a2=4(第2行代码运算完时,b=3,即第3行代码运行时,b的值为4)。
StevenV6 2016-04-28
  • 打赏
  • 举报
回复
逗号表达式,结果为3
赵4老师 2016-04-15
  • 打赏
  • 举报
回复
Buddy.Zhang 2016-04-15
  • 打赏
  • 举报
回复
逆波兰式分析一下就知道了...............
renwotao2009 2016-04-15
  • 打赏
  • 举报
回复
3,分号结果是最后一个表达式
老王爱上猫 2016-04-15
  • 打赏
  • 举报
回复
没意思....
paschen 2016-04-15
  • 打赏
  • 举报
回复
根据优先级(=高于,),应该是: (a=1),(a+=1),(a+1),(a++) 的结果 而不是 a=(1,a+=1,a+1,a++)
均陵鼠侠 2016-04-15
  • 打赏
  • 举报
回复
表达式 a=1,a+=1,a+1,a++ 的值是____________。
wang0635 2016-04-15
  • 打赏
  • 举报
回复
表达式的值是____________。
charles123a 2016-04-15
  • 打赏
  • 举报
回复
等于2?…………………………
醉花阴柳 2016-04-15
  • 打赏
  • 举报
回复
指的应该是前面整个逗号表达式的值

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧