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

在开头定义result=i*j,为什么打印的相乘结果都是0?

如题,我在开头定义了result:

#include <stdio.h>

int main() 

    // 定义相乘数字i,j以及结果result

    int i, j, result;

    result=i*j;

        for(i=9;i>0;i--)

    {

        for(j=10-i;j<10;j++)

        {

            printf("%d*%d=%d",i,j,result);

            /*printf("%d*",i);

            printf("%d=",j);

            printf("%d",result);*/

        }

        printf("\n");

    }

  

    return 0;

}

但是输出结果:

9*1=0 9*2=0 9*3=0 9*4=0 9*5=0 9*6=0 9*7=0 9*8=0 9*9=0 

8*2=0 8*3=0 8*4=0 8*5=0 8*6=0 8*7=0 8*8=0 8*9=0 

7*3=0 7*4=0 7*5=0 7*6=0 7*7=0 7*8=0 7*9=0 

6*4=0 6*5=0 6*6=0 6*7=0 6*8=0 6*9=0 

5*5=0 5*6=0 5*7=0 5*8=0 5*9=0 

4*6=0 4*7=0 4*8=0 4*9=0 

3*7=0 3*8=0 3*9=0 

2*8=0 2*9=0 

1*9=0 

求教~~~~~~

提问者:慕妹6243540 2019-03-25 16:07

个回答

  • weixin_慕哥0274688
    2019-03-25 22:12:53
    已采纳

    你把result=i*j写在循环外自然是这样的结果了。这个时候result始终等于i,j初始值互相相乘故而result的值一直是零

















    8

  • weixin_宝慕林6298932
    2019-03-25 23:22:06

    result=i*j;

    放在了循环外,没有参与下面的for循环中的运算,所以结果就一直都是初始化时的0*0