for语句为什么循环?
#include <stdio.h>int main()
{
int xxs=9,h,a;
a=9;
h=(a+1)/2;
for(h;h==0;h--)
{
for(xxs;xxs<=1;xxs--)
{
printf("*");
}
printf("\n");
}
printf("%d\n",xxs);
printf("%d\n",h);
printf("%d",a);
}
为什么输出的还是9 5 9 没有换行 没有打印* h = (a + 1) / 2
= (9 + 1) / 2
= 10 / 2
= 5
一开始 h 就为 5,而循环条件是 h == 0,明显不满足,所以不执行 for 循环,直接打印 9 5 9 zltzlt 发表于 2020-2-20 12:17
h = (a + 1) / 2
= (9 + 1) / 2
= 10 / 2
第二个不是循环退出的条件吗{:10_277:} cc123hh 发表于 2020-2-20 12:19
第二个不是循环退出的条件吗
不是,你搞反了 zltzlt 发表于 2020-2-20 12:19
不是,你搞反了
emmmmmmmmmm 代码中的错误是xxs<=1,应改为xxs>=1!你的方向搞反啦!!!
页:
[1]