因为 i!=j 中的这个"!=" 是一个关系运算符,返回的结果是true 或者 false,按照顺序的话 i!=j!=k执行出来就会变成:
i!=j 的结果(True 或 False 或者说 1或0)是否等于k
也就是说 如果 i == j, 就会判断 k 是不是1或True ,如果是返回 True,否则返回False
如果 i != j,就会判断k是不是 0或False,后续同理。
这个时候判断的就不是i,j,k是否互不相同了。
看回初始的程序 (i!=k)&&(j!=k)&&(i!=j),这是通过三个关系预算符先比较i,j,k两两是否都不同,然后再通过&& 的逻辑与运算保证只有在均不同的情况下方才输出True。也就是说在括号内进行的是数值和数值的比较,然后在比较完后在括号外是逻辑运算。