武汉蓝天歌剧院2015:不胜感激

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 15:22:34
7 下面的程序的运行结果是___
#include <stdio.h>
main()
{ int i;
for (i=1;i,=5;i++)
{if (i%2) printf("#");
else continue;
printf ("*");
}
printf("$\n");
}
结果是#*#*#*$怎么突然搞个(i%2)在中间,不给什么等于什么的,有什么用啊?怎么会得到这样的一个结果呢?

是不是
for (i=1;i<=5;i++)啊?

i%2 的意思是取除以2的余数,

当 1%2=1 3%2=1 5%2=1 在判断里面相当于true
输出三次 #*
再加上最后输出的$
所以结果为:#*#*#*$

2%2=0 4%2=0 在判断里面相当于false
直接跳出本次循环,开始下次循环,不输出。

首先说一下你定义那个行好像错了,应该是
for (i=1;i=5;i++)(你多了一个顿号还是逗号)。
如果没猜错那个应该是错误的语法。
请尝试更改i=5为i=0,看看是不是等于
aaaa