这段程序错在哪了?

来源:百度知道 编辑:UC知道 时间:2024/05/05 20:03:35
#include <stdio.h>
void main() {
int i,j,k;
/*i控制要打印的行数,
*j控制要打印的空格数,
控制要打印的星号的个数*/

//先打印上边的4行
for(i=1;1<=4;i++) //控制要打印的行数
{
for(j=1;j<=4-i;j++) //控制每行要打印的空格数
printf(" ");
for(k=1;k<=2*i-1;k++) //控制打印第一个“*”到第二个“*”
{
if(k==1||k==2*i-1) //只在循环的边界值打印“*”,否则打空格
printf("*");
else
printf(" ");
}
printf("\n");
}

//然后打印下边的3行
for(i=1;i<=3;i++) //控制要打印的行数
{
for(j=1;j<=i;j++) //控制每行要打印的空格数
printf(" ");
for(k=1;k<=7-2*i;k++) //控制每行要打印的“*”的个数
{
if(k==1||k==7-2*i) //只在循环的边界值打印“*” ,否则打印空格
printf("*");
else
printf(" ");
}
printf("\n");
}
}
这是段C语言用*号打印出个菱形的代码!没报错和警告
运行起来就是不停的出*号,是什么原因阿?

for(i=1;1<5;) //控制要打印的行数
{
if(i<5){
for(j=1;j<=4-i;j++) //控制每行要打印的空格数
printf(" ");
for(k=1;k<=2*i-1;k++) //控制打印第一个“*”到第二个“*”
{
if(k==1||k==2*i-1) //只在循环的边界值打印“*”,否则打空格
printf("*");
else
printf(" ");
}
printf("\n");

}
i++;
}
这么修改下,死循环了

for(i=1;1<=4;i++)改为:for(i=1;i=4;i++),要不然不成死循环了.