为了账号安全,请及时绑定邮箱和手机立即绑定

提示,运行成功但是timeout,什么意思啊??另外,这样写对吗??

#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;
}

正在回答

3 回答

timeout 就是陷入死循环了,你的子循环里j 的限制条件(也就是中间的代码2)和没有一样。

0 回复 有任何疑惑可以回复我~

你的第8行for(j=1;j>=1;j++)里面,我划线地方应该是j<=i,不然就会一点限制都没有的永远运行下去,我用vc试了一下是这样的https://img1.sycdn.imooc.com//5b8cf1880001fbf812230639.jpg

我理解的这里就是两个for循环,一个外一个内,外面这个for(i=9;i>=1;i--)的循环只是来确定一个行数(因为在你没有换行的时候,输出是横着输出的),

而里面的for(j=1;j<=i;j++),j被i限制了,不断减少,j能写的也就减少了,因为j++不断增加,而j<=i

你的 j>=1就导致j没有限制的运行下去,就是无限列了,timeout应该是运行超时吧。写的有点乱,希望能理解



1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

提示,运行成功但是timeout,什么意思啊??另外,这样写对吗??

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信