看看教材吧,效率比这里高多了
感觉像是输出语句中的比较语句为真或者为假,若比较式成立则为1,不成立则为0
的确都是1啊,逻辑运算符(<、>、==之类的)优先级比算术运算符(+、-、*、/)高。算术运算符比赋值运算符(=)高。
以第四道题为例
k = i * j == 6;
的意思是 : i * j 是否等于6,是则为真(结果是1),否则为假(结果是0)。
3、k>i是true转为int就是1,然后1<j是true,整型输出为1
4、i*j=6,然后执行6==6为true,输出为1
5、i<j是false,j<k是false,false==false结果是true,也就是1
其实这个考的是运算符优先级。优先级表格看一下这个 https://blog.csdn.net/guowenyan001/article/details/45049347
第一题,k>i<j,大于号小于号优先级一样,因此从左到右,先算k>i(1>5),得到0(判断题算出对的是true=1,不对就是false=0),再用结果0替换k<i,也就是0<j,得到true=1;
第二题,k=ij==6,==优先级高于=,因此先算ij==6,判断题得到true=1,k=1;
第三题,大于小于号优先级高于==,先算两边的值再替换,i<j得到0,j<k得到0,0==0为真,得到1,所以打印出1.