这个程序的关键就是其中的for 循环:
for (i=1;i<=5;i++)/*i的取值是1,2,3,4,5*/
{ if (i%2) printf("*");/*如果i%2不为0(即i是奇数)则输出'*'*/
else continue;/*如果i是偶数,则跳过下面的printf调用,直接判断是否进行下一次循环*/
printf ("#");/*如果i是奇数,则不执行上面的continue;所以会执行这一行输出一个'#'字符*/
}
有了对上述语句的理解后,就可以知道,此循环会在i=1,3,5时输出"*#",所以共会输出三个"*#",就形成了"*#*#*#",循环完成后,会执行后面的printf调用,输出一个'$'字符并换行,所以全部的输出就是: *#*#*#$
i=1 1%2=1 真 输出 * 跳过 continue 语句 继续输出 #
i=2 1%2=0 假 执行 continue语句 跳出当前循环 回到循环首
后面的相同
这里的*#是一次循环输出的
for (i=1;i<=5;i++)
{
if (i%2) //i对2取余,结果能整除就到else ,否则输出*
printf("*");
else
continue; //结束本次循环,继续下次循环也就是再走到for那里
printf ("#");//输出 #,只有i不能整除2才能走到这。
}
所以
i=1,输出 *#
i=2,无输出
i=3, *#
i=4,无输出
i=5,输出 *#
结果就是 *#*#*#$