爱问知识人 爱问教育 医院库

求C语言答案

首页

求C语言答案

int x,y,z;
x=y=z=0;
++x||++y&&++z;
printf("x=%d\ty=%d\tz=%d\n",x,y,z);

提交回答
好评回答
  • 2018-03-22 05:56:48
    应该是x=1 y=0 z=0
    逻辑或运算符有个性质:当它的第一个操作数为 true 或者非0时,则不对第二个操作数进行运算.
    从++x||++y&&++z来看, 因为"||"的优先级比"&&"低,所以"||"的第二个操作数应该是"++y&&++z".
    由于第一个操作数是"++x",所以在对"||"进行运算前,x已经等于1了.(如果不明白为什么,请PM我)
    那么"||"就没有必要对第二个操作数进行运算了.也就是说,程序没有运算过 ++y 和 ++z 这两个表达式.所以它们的值都是初始值,均为0

    后***

    2018-03-22 05:56:48

其他答案

类似问题

换一换
  • 程序设计 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):