这是我编的一个错误的程序,但我想知道为什么?
来源:百度知道 编辑:UC知道 时间:2024/07/02 17:41:57
#include"stdio.h"
void main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;i++)
printf("%d*%d=%d\t",j,i,j*i);
printf("\n");
}
getch();
}
上面这个为什么会无限循环下去啊,是做什么的,是什么意思啊?
我知道是错的啊,我想知道这个,不是问那个的啊.
void main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;i++)
printf("%d*%d=%d\t",j,i,j*i);
printf("\n");
}
getch();
}
上面这个为什么会无限循环下去啊,是做什么的,是什么意思啊?
我知道是错的啊,我想知道这个,不是问那个的啊.
理由同楼上的
在内侧循环中
j的初始值1,i也是1,j<=i,于是进循环
循环结束后i++,j不变,j<i,于是又循环
于是无穷尽也
你的第二个循环写错了
应该是for(j = 1; j <= i; j++)
for(j=1;j<=i;i++) //是j++吧!
在第二个循环给i++,j永远都小于i.
改了后应该是个9*9的乘法表。。是个倒三角