没任何区别无非下面的代码多用了个leap,起到的就是上面判断i%j,下面判断leap,其实leap的值就是i%j(虽然不是这么赋值而是直接赋值成0的,但是其实就是i%j==0时才赋值,所以还是i%j)if(i%j)leap=0;//当i%j==0时leap是0,否则leap是1leap=i%j;//当i%j==0时leap=0,否则leap不等于0而leap作为if判断条件,它的值只有0和非0起作用,到底是1还是2没区别所以其实这两个代码完全等价