我这个代码对了吗?

来源:4-13 使用for循环打印9×9乘法表

慕函数3031282

2018-12-27 13:45

#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,不符合要求啊,但是提示我代码敲对了?????

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

写回答 关注

2回答

  • 慕侠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里面不要这么写好一点(有点乱)

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

    慕函数303...

    对的!我这个代码忽视了表达式一只会在for循环中进行一次。

    2018-12-28 00:10:48

    共 1 条回复 >

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

    for循环里面的语句不对吧


    慕函数303...

    为什么呀:)

    2018-12-27 17:58:19

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926039 学习 · 20793 问题

查看课程

相似问题