2012-12-14 32 views
-4

你可以通过所有的步骤,为什么答案是9,0和3.了解数组和循环回答

这打印9.如何?

int sum,i, j, g[3][3] = {{0,0,0},{1,1,1},{2,2,2}}; 
sum = 0; 
for (i=0;i<=2;i++) 
{ 
    for(j=0;j<=2;j++) 
     sum=sum+g[i][j]; 
} 
printf("The value is:%d", sum); 

这打印出0.如何?

sum = 1; 
for (i=0;i<=2;i++) 
{ 
    for(j=0;j<=1;j++) 
     sum=sum*g[i][j]; 
} 
printf("The value is:%d", sum);` 

This print 3. How?

sum = 0; 
for (i=0;i<=2;i++) 
    sum=sum+g[i][1]; 
printf("The value is:%d", sum); 
+3

我想你应该尝试通过逻辑自己先走了在这一个;我可以解释它,但接下来的任务将需要你建立这个技能。如果你不学习如何通过循环走路,你的课程将会变得非常快。 – DavidO

+2

听起来像功课。 – Akina91

+0

习惯C会使用'for(i = 0; i <3; i ++)',而不是'<='条件。另外,在第二个例子中,术语'sum'是一个用词不当的;它是你正在计算的一个“产品”(这是你为什么得到结果0的暗示)。 –

回答

0

要看看它是如何工作的尝试类似:

int sum,i, j, g[3][3] = {{0,0,0},{1,1,1},{2,2,2}}; 
sum = 0; 
for (i=0;i<=2;i++) 
{ 
    for(j=0;j<=2;j++) 
    { 
     sum=sum+g[i][j]; 
     printf("i=%d, j=%d, sum=%d", i, j, sum); 
    } 
} 
printf("The value is:%d", sum); 
0

尝试......

int sum,i, j, g[3][3] = {{0,0,0},{1,1,1},{2,2,2}}; 
sum = 0; 
for (i=0;i<=2;i++) 
{ 
    for(j=0;j<=2;j++) 
    { 
     sum=sum+g[i][j]; 
     printf("i=%d, j=%d, g[%d][%d]=%d, sum=%d", i, j, i, j, g[i][j], sum); 
    } 
} 
printf("The value is:%d", sum);