呵呵
i%2是取模运算,就是求i除以2所得的余数,
if(i%2) printf("*"); else printf("#");
代码的意思是当i为奇数时,i%2结果不为0,为真,就执行printf("*");
当i为偶数时,i%2结果为0,为假,就去执行else print("#");其实就是交替输出*和#
i%2是取模运算,即求i除以2所得的余数。
当i为奇数时,i%2结果不为0,为真,就执行printf("*");
当i为偶数时,i%2结果为0,为假,就执行else print("#");
具体步骤为:
当i=1时,i%2=非零,为真,输出*
i=1,且i<=5,i++,这时i=2,i%2=零,为假,输出#
i=2,且i<=5,i++,这时i=3,i%2=非零,为真,输出*
i=3,且i<=5,i++,这时i=4,i%2=零,为假,输出#
i=4,且i<=5,i++,这时i=5,i%2=非零,为真,输出*
i=5,且i<=5,i++,这时i=6,i%2=零,为假,输出#
因此最后结果为:*#*#*#$
i % 2,是取 i 和 2 取余的值,如果i的值是2的倍数,那么括号里就是0,即是假的。否则都是真的。4和2取余是0。5和2取余是1
如果i是奇数则输出* ,偶数输出# ,
i%2 就是求余数而已,楼主可以自己慢慢体会