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);
}
运行结果:
没有出现楼主的问题啊。。
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
- 3 回答
- 0 关注
- 1256 浏览
添加回答
举报
0/150
提交
取消