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

在开头定义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 

求教~~~~~~

正在回答

2 回答

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

















8

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

慕妹6243540 提问者

明白了,感谢!
2019-03-26 回复 有任何疑惑可以回复我~
result=i*j;

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

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

慕妹6243540 提问者

明白了,感谢!
2019-03-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

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