为了账号安全,请及时绑定邮箱和手机立即绑定

关于关系运算符和逻辑运算符的问题

关于关系运算符和逻辑运算符的问题

C
支离益 2016-10-06 21:46:33
i=3,j=4,k=5; printf("%d",i<j||++j<k); printf("%d %d %d",i,j,k); 为什么y=1啊?还有这个运算顺序是怎么样的,++j运算顺序不是最高的吗?不是先让y自增吗?
查看完整描述

3 回答

已采纳
?
望远

TA贡献1017条经验 获得超1032个赞

#include<stdio.h>

void main(){

     int i=3,j=4,k=5; 

     printf("%d\n",i<j||++j<k); 

     printf("i=%d j=%d k=%d\n",i,j,k);

}

运行结果://img1.sycdn.imooc.com//57f74faa000131d502450079.jpg

没有出现楼主的问题啊。。


查看完整回答
1 反对 回复 2016-10-07
?
JustWannaHugU

TA贡献452条经验 获得超796个赞

y再哪里?我怎么没看到。。

如果你是想问i=3,j=4,k=5; printf("%d",i<j||++j<k);为什么输出1的话

那是因为||是或运算符,运算符两侧只要有一个为真输出就是1,由于4>3.因此i < j || ++j < k ;的结果是1

查看完整回答
1 反对 回复 2016-10-06
  • 支离益
    支离益
    想问的是第二个输出j为什么是1 打错了
?
大咪

TA贡献785条经验 获得超332个赞

j怎么看都等于5啊……
查看完整回答
反对 回复 2016-10-07
  • 3 回答
  • 0 关注
  • 1256 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信