#include <stdio.h>
void main()
{
int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<i;j++)s+=a[i][j];
printf("%d\n",s);
}
答案为什么是14
首先,你对数组的赋值结果如下:
a 0 1 2
0 1 2 0
1 3 4 0
2 5 6 0
然后,你从 i= 1 开始 第一个循环,取 a(1,0) 的值
接下来第二圈循环,取a(2,0)和 a(2,1)的值
从上表得知,结果= 3+5+6 = 14
...{int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++...
i=1 j=0 ===》 s1=a[1][0]+0=3;i=2 j=0 ===》 s2=a[2][0]=5 i=2 j=1 ===》 s3=a[2][1]=6 最后S=S1+S2+S3==14;(依据:S+=a[i][j])
...{ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i+...
于是 就是 a[1][0]+a[2][0]+a[2][1]=3+5+6=14
#include <stdio.h> void main( ) { int a[3][3]=
include <stdio.h>void main( ){ int a[3][3]={{2},{4},{6}}; \/\/这里定义数组并初始化,数组内容为 2 0 0 , 4 0 0 , 6 0 0 int i,*p=&a[0][0]; \/\/p指向2的位置for(i=0;i<2;i++) \/\/i=0 1循环两次{ if( i == 0 ) \/\/i等于0时a[i][i+1]=*p+1...
#include "stdio.h" void main () { int j,i,s=0; int a[3][3]={...
所有就是2+3+6 = 11
...main( ) { int a[3][3]={{1,2},{3,4},{5,6
int main( ){ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j];printf("%d\\n",s);}s=a[1][0]+a[1][1]+a[2][0]+a[2][1]+a[2][2]=3+4+5+6+0=18 a[2][2]没赋值为0 ...
#include "stdio.h" void main () { int j,i,s=0; inta[3][3]={1...
include "stdio.h"void main (){ int j,i,s=0;int a[3][3]={1,2,3,4,5,6,7,8,9}; \/\/这一行上加了空格 for(i=0;i<3;i++) \/\/三处 I 要改为 i for(j=0;j<i;j++)s=s+a[i][j];printf("%d",s);} 输出的结果是 19 即4+7+8=19 ...
#include<stdio.h> void main() { int i,j,a[3][3]={1,2,3,4,5,6...
前一个循环退出前i=2,j=1,a[2][1]就是8 后一个循环退出前j =1, i = 1,a[1][1]就是5
#include "stdio.h" main() {int aa[3][3]={{2},{4},{6}},i,*p=&aa...
当i=1时执行else ++p,这句话的意思我认为是p这个指针指向后一位,即p指向了aa[0][1];在这里++p和p++和*++p和*p++效果都是一样的我试过,我也试过把*p+1换成*p+3、4、5,证明了++p确实是p指针向后移了一位,不是aa[0][0]+1,include <stdio.h> int main(){ int aa[3][...
...如想把int a[3][3]={{1,2,3},{4,5,6},{7,8,9,}这个数组打印出来...
include <stdio.h> void main(){ int a[3][3]={{1,2,3},{4,5,6},{7,8,9,}};int i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)if(j==2)printf("%d \\n",a[i][j]);else printf("%d ",a[i][j]);}