问答详情
源自:4-13 使用for循环打印9×9乘法表

我这个代码对了吗?

#include <stdio.h>
int main()
{
    // 定义相乘数字i,j以及结果result
    int i, j, result;
    for(i=9,j=1,result=i*j;i>0;i--)
    {
        for(;j<10;j++)
        {
            printf("%d*%d=%d",i,j,result);
        }
       
    }/*
     * 使用for循环解决本题相对简单哦~
     * 小编偷偷的将源码放在任务“不会了怎么办”中了哦~
     * 小编希望童鞋们独立完成哦~
     */
   
   
   
   
   
    return 0;
}

右边输出的值是从9*9到9*1,不符合要求啊,但是提示我代码敲对了?????

按我自己的理解我这个代码应该要按题给图输出,但为什么没有呢?

提问者:慕函数3031282 2018-12-27 13:45

个回答

  • 慕侠6084279
    2018-12-27 23:02:29
    已采纳

    首先执行外部循环result=9,进入内部循环,result在外部已经定义为9了,但内部循环没改变result的值,所以输入9*1=9 ,9*2=9……然后当你j=10时推出内部循环,回到外部,j还是10,i--变为8,进入内部,此时j已经为10了,判断 j<10条件不成立,不执行内部循环,所以后面就不输入了。我觉得for里面不要这么写好一点(有点乱)

    我讲的不知道好不好,请见谅。^-^

  • qq_慕哥0498700
    2018-12-27 17:03:50

    for循环里面的语句不对吧