慕数据911255
2018-09-03 12:37
#include <stdio.h>
int main()
{
// 定义相乘数字i,j以及结果result
int i, j, result;
for(i=9;i>=1;i--)
{
for(j=1;j>=1;j++)
{
printf("%d*%d=%d\t",i,j,result=i*j);
}
printf("\n");
}
return 0;
}
timeout 就是陷入死循环了,你的子循环里j 的限制条件(也就是中间的代码2)和没有一样。
你的第8行for(j=1;j>=1;j++)里面,我划线地方应该是j<=i,不然就会一点限制都没有的永远运行下去,我用vc试了一下是这样的。
我理解的这里就是两个for循环,一个外一个内,外面这个for(i=9;i>=1;i--)的循环只是来确定一个行数(因为在你没有换行的时候,输出是横着输出的),
而里面的for(j=1;j<=i;j++),j被i限制了,不断减少,j能写的也就减少了,因为j++不断增加,而j<=i
你的 j>=1就导致j没有限制的运行下去,就是无限列了,timeout应该是运行超时吧。写的有点乱,希望能理解
C语言入门
926217 学习 · 20797 问题
相似问题