1樓:匿名使用者
當然是a,就是18了。就是個2重巢狀的for迴圈了。
看過程。時。
j=0,s=s+a[1][0],s=0+3就是3了。
然後迴圈到j=1;s=s+a[1][1].s=3+4=7;
i=2時;j=0,s=s+a[2][0].s=7+5=12;
j=1,s=s+a[2][1],s=12+6=18;
j=2;s=s+s[2][2],但是由於陣列中a[2][2]的位置沒有賦值,所以預設為0.
int a[3][3]=,其實等價於int a[3][3]=,所以最後1步s=18+0還是18.夠清晰了吧。
2樓:匿名使用者
答案是a 18
當陣列賦值時候,預設的補0,也就是說a[0][2]=a[1][2]=a[2][2]=0迴圈實現了第二行前兩元素(a[1][0],a[1][1])與第三行三個元素(a[2][0],a[2][1],a[2][2])的和。
3樓:網友
for(i=1;i<3;i++)
執行的是i=1 到2
for(j=0;j<=i;j++)
內層迴圈是0到i
每次內層迴圈執行一次s+=a[i][j];
輸出應該是18
內層迴圈是1,0 1,1 2,0 2,1 2,2矩形是 1 2 0
a[1][0]=3
a[1][1]=4
a[2][0]=5
a[2][1]=6
a[2][2]=0
全加起來為18
4樓:匿名使用者
陣列a資料結構如下:
1 2 0 (i=0)
3 4 0 (i=1)
5 6 0 (i=2)
(j=0)(j=1)(j=2)
i=1,j=0 s=0+a[1][0]=3 j+=1i=1,j=1 s=3+a[1][1]=7 j+=1i=1,j=2 不滿足二層迴圈的條件,退出二層迴圈(i+=1)i=2,j=0 s=7+a[2][0]=7+5=12 j+=1i=2,j=1 s=12+a[2][1]=12+6=18 j+=1i=2,j=2 s=18+a[2][2]=18+0=18 j+=1i=2,j=3 不滿足二層迴圈的條件,退出二層迴圈(i+=1)i=3 不滿足一層迴圈條件,退出一層迴圈。
over(s=18)
完畢,謝謝~~
5樓:江湖三腳貓
a 18 陣列a初始化結果為:
a 0 1 2
i從1開始迴圈到2,j從0迴圈到i
i=1時 j=0時 s=0+a[1][0]=3j=1時 s=3+a[1][1]=3+4=7i=2時 j=0時 s=7+a[2][0]=7+5=12j=1時 s=11+a[2][1]=12+6=18j=2時 s=18+a[2][2]=18+0=18最後結果為18
6樓:網友
最主要要了解:a[3][3]=]5,6}};
a[i][j],i,j分別是從0到2而不是從1到3,這很重要,再有就是如果沒有定義的為0,具體是指a[i][2]=0;
i=1時。j=0,s+=a[i][j]=3j=1,s+=a[i][j]=3+4
i=2時,j=0,s+=3+4+5
j=1,s+=3+4+5+6
j=2,s=18a
7樓:
a雙重迴圈。
i= 1時。
j迴圈兩次。
所以 s+ =a(a值為3);
s+= a(為4);
i = 2時。
j迴圈三次。
s+ =a(a值為5);
s+= a(為6);
s+= a(為0);
a 為三行三列 不夠 系統預設為0
8樓:堂糖卻
ai=1時,執行j=0和j=1
j= 0 s=a[1][0]=3
j = 1 s = 3+a[1][1]=7i=2時,執行j=0,j=1和j=2
j= 0 s=7+a[2][0]=7+5=12j = 1 s=12+a[2][1]=18j= 2 s = 18 +a[2][2] =18
c語言中,指標和陣列的區別和聯絡
區別 c語言把記憶體劃分成四個區,它把一般的變數和陣列等存在於記憶體中的棧區,所以陣列在c語言的定義中只是一組同型別的普通變數,即使這個變數有可能是指標。所以他的作用比指標小的很多,而指標可以指向任何區的任何資料,所以就會覺得指標和陣列名很像,但是必須要注意的是,陣列名只是指標中的一種,它是指標中只...
關於c語言動態陣列,關於C語言動態陣列
採納我吧,給你費了好大勁啊 include include include const int maxsize 100 templateclass linlist template class node template node node linlist entry entry template ...
C語言中指標和陣列是怎樣相互轉換的
陣列名可以認為是常量指標,本身值不能更改 但是可以參與運算。指標可以當做陣列使用,按照下標方式訪問。以上僅限於一維指標和一維陣列 對於多維陣列,可以轉為一維指標。指標陣列,就是一個陣列裡存放的都是指標,比如 p 8 p 0 裡存放的就是一個指標回 資料陣列指答針,陣列名就是一個指向陣列起始地址的指標...