#include<stdio.h>
main()
{
int k;
for(k=0;k<10;k++);
printf("*\n");
}
这个很明显,就是for循环要加大括号
如果不加,就运行for循环下面的第一行或者是右边的第一行
(也就是说运行和for循环最近的语句)
但问题是都没有
所以for循环为空
于是继续运行下面的语句
只输出一个*;
如果你要修改
有3种办法
//第一种
for(k=0;k<10;k++)
printf("*\n");
//第二种
for(k=0;k<10;k++) printf("*\n");
//第三种
for(k=0;k<10;k++)
{
printf("*\n");
}
是10行一个还是就只有一个?
for循环不要加分号
如果是多语句循环,把循环体用花括号{}括起来,把for循环后的分号加在花括号后
单语句for后面就不必加分号了,不然是一个空循环,不会执行后面的循环体
#include<stdio.h>
main()
{
int k;
for(k=0;k<10;k++)
printf("*\n");
}
加大括号
for(k=0;k<10;k++){
printf("*\n");
}
for循环加分号了
循环后加上分号循环都进不去,代表结束循环
*
Press any key to continue
以上是运行结果,只出来一个*号。
执行了10次 “;”,执行了一次printf