有关c语言 for 的问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 08:58:23
先看代码
main()
{ int n,m;
for(n=1;n<=10;n++)
{
for(m=1;m<=n;m++)
printf("*");
printf("\n");
}

getch();
}
问:执行完“printf("*");”后为什么不马上接着执行printf("\n");呢?而是继续回到第二个for直到条件“m<=n”不成立?
hanlijie1988,问下嵌入式for循环,内循环是不是只执行for下一句而for下面的第二、三...句就不再执行?

for每次循环仅仅执行到后面一句的结尾位置,你必须用{}将下面两句括起来
for(……)
{
printf("*");
printf("\n");
}

这样写
main()
{ int n,m;
for(n=1;n<=10;n++)
{
for(m=1;m<=n;m++)
{
printf("*");
printf("\n");
}
}

缺少一对{};
如果想按照你的方法执行的话,你需要将
for(m=1;m<=n;m++)
printf("*");
printf("\n");
写成
for(m=1;m<=n;m++)
{printf("*");
printf("\n"); }
这样他们就可以按照你想要的执行顺序执行了,放在{}里,是第二个循环的循环体,如果不用{}则第二个for循环的循环体只有输出*这一句话