慕UI30236
2018-10-10 20:44
#include <stdio.h>
int main()
{
int i, j, k;
for(i=1; i<5; i++)
{
/* 观察每行的空格数量,补全循环条件 */
for( j=5 ; j>i ;j-- )
{
printf(" "); //输出空格
}
/* 观察每行*号的数量,补全循环条件 */
for( k=0.5 ; k<i ;k+=0.5 )
{
printf("*"); //每行输出的*号
}
printf("\n"); //每次循环换行
}
return 0;
}
因为一开始申明k是int,所以在for(k=0.5;k<1;k+=0.5)时,开始k被赋的值不是0.5,而是0,你可以在循环中加一个printf("%f",k);来观察k值的变化,你这时就会发现在你这个语句里k一直等于0,所以k<i恒成立,也就成了死循环,
你可以把k变成浮点数再运行这个程序,这时应该就是对的
C语言入门
926025 学习 · 20793 问题
相似问题