关于C语言的小细节!

来源:百度知道 编辑:UC知道 时间:2024/05/15 14:57:56
if((i%7==0||i%11==0)&&i%77!=0) 和
if(i%7==0||i%11==0&&i%77!=0)的区别!

第一个,i如果是7的整数倍或者11的整数倍,并且不是77的整数倍,则执行if后面的语句。

第二个,&&的优先级比||高。所以if(i%7==0||i%11==0&&i%77!=0)相当于if(i%7==0||(i%11==0&&i%77!=0))
说明如果i是7的整数倍或者是11而非77的整数倍则执行后面的语句。
先执行&&判断该表达式的真假,如果为真,则不计算前面了。如果为假还要继续执行前面的,这样一来,只要满足是7和11的整数倍就行了,是不是77的整数倍都无所谓了。 77的整数倍肯定是7的整数倍。

你看下这个
http://www.cppblog.com/aqazero/archive/2006/06/08/8284.html
优先级的一个列表

看一下各个运算符的优先级就知道他们的区别了,括号的优先级是最高的。