在開頭定義result=i*j,為什么打印的相乘結果都是0?
如題,我在開頭定義了result:
#include <stdio.h>
int main()?
{?
? ? // 定義相乘數(shù)字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?
求教~~~~~~
2019-03-25
你把result=i*j寫在循環(huán)外自然是這樣的結果了。這個時候result始終等于i,j初始值互相相乘故而result的值一直是零
8
2019-03-25
放在了循環(huán)外,沒有參與下面的for循環(huán)中的運算,所以結果就一直都是初始化時的0*0