c语言中一个程序的运行结果

来源:百度知道 编辑:UC知道 时间:2024/05/16 20:36:53
#include<stdio.h>
main()
{
int n;

for(n=1;n<=5;n++)
{
if(n%2)
{
printf("*");

}
else
{
continue;

}
printf("#");

}
printf("$\n");
getch();
}
结果是什么详细说明
我不是对那不懂
是我觉得运行结果不是*#*#*#$而是*#*#*$请知道的人详细解答
谢谢

i=1时,n%2=1执行printf("*");,然后执行printf("#");(输出内容:*#)
i=2时,执行else{}里面的continue;返回到for(...)
i=3时,n%2=1执行printf("*");,然后执行printf("#");(输出内容:*#*#)
i=4时,时执行else{}里面的continue;返回到for(...)
i=5时,n%2=1执行printf("*");,然后执行printf("#");(输出内容:*#*#*#)
跳出循环执行printf("$");(输出内容:*#*#*#$)

相信楼主只是不明白if(n%2)是什么意思.
n%2就是求n除以2得到的余数,无非有0和1两个答案.如果是1(n是奇数),1是非0值,在C语言里表示逻辑真,那么就执行printf("*");如果是0(n是偶数),0表示逻辑假,那么就执行printf("#");