您申请加入课程:程序设计基础
  • 创建者

    Creator

    肖菁
  • 活跃度

    Activeness

  • 访问量

    Visits

    4210

教学公告

课件疑问
[作者: 肖菁  发布时间:2019-10-29 11:07:44  浏览次数:705次]

课件中有:

若x=4,y=5,则 i=++x==5||++y==6 ; i,x,y的取值分别为多少?

这个表达式C++会做短路处理,就是||前面部分如果是为真的话;那么 || 后面的无论是否为真, || 的结果都是为真,此时C和C++就不做后面那个东西了。


答案是 1 5 5

x开始是4,前置++后就是5
所以||的前半部分为1,导致 || 短路,后面代码不做;即y并没有自增了

故y的值从未变化过,还是5。


同样,&&运算符如果前部分是0的话,后面部分也不做运算了。

i=x++==5&&y++==6; 的话 y部分也没有做运算了。


相关课程

扫一扫二维码,快速加入本课程!

放大二维码 查看使用方法
关闭