C语言初学者循环试题提问

#include
void main( )
{int i;
for(i=1,i<=5,i++)
{if (i%2)printf("*");
else continue;
printf("#");
}
printf("$\n");
}

想问什么?是什么问题?

i%2 取余数,0是false,1是true,所以在1,3,5时打印*和#,2,4跳过当前循环不打印任何

这个循环是从1循环到5。
if判断的条件是i%2,当i是偶数的时候,i%2=0,值为false,反之奇数则为1, 即TRUE。
if成立则打印* ,之后不进else,接着打印#,
if不成立则进else,执行continue,i++进入下一次循环。

答案是*#*#*#$加上换行

for(i=1,i<=5,i++)
for循环中条件是用;隔开的,而不是用逗号隔开

答案是*#*#*#$

  • # * #*$\n

if (i%2)后面不带值么,写错了吧if (i%2==0)

if写错啦,后面必须有一个条件哟