以下程式執行後第一行輸出第二行輸出

時間 2021-12-23 05:08:45

1樓:

後面少了個」)「。

*p1[3]是3元素int型指標陣列,經for(i=0;i<3;i++) p1[i]=&p[6-3*i];後存放的內容是:p1[0]=&p[6](即7的位址),p1[1]=&p[3](即4的位址),p1[2]=&p[0](即1的位址);p2是二級指標,它經p2=p1+2;指向了p1[2]的位址&p1[2]。現在看輸出。

輸出共有i=1和i=2兩行。

第一行,i=1時:

然後,p2=p2-1;。

所以第一行輸出8,4。

第二行,i=2時:你照貓畫虎自己分析一下吧,太麻煩了……

2樓:匿名使用者

第一排輸出:

*(++p1[i]+2)+1

= (++p1[i])[2]+1

=p1[i][2+1]+1

=p1[i][3]+1

輸出,p1[1][3]+1 = p[3+3]+1=7+1=8

p1[2][3]+1 = p[0+3]+1=4+1=5

說明:for(i=0;i<3;i++) p1[i]=&p[6-3*i];將

第二排輸出:

第一次執行

*((*p2--+1)+2) // 最裡面() 和 -- 去掉

= *(*p2+1+2) // 最外面的* ,指標運算轉換成

= (*p2)[3]

= (*(p1+2)[3]

= p1[2][3]

= p[0+3] = 4

第二次執行 :p2=p1+2-1;

*((*p2--+1)+2)

= (*p2)[3]

= (*(p1+1))[3]

= p1[1][3] // 又因為:前面*(++p1[1]+2)+1 中++p1[1] 的運算 改變了原p1[1]的指向位址 。

=(++p1[1])[3]

=p1[1][3+1]

=p1[1][4]

=p[3+4] = 8

程式執行列印輸出

8,45,8

3樓:匿名使用者

printf語句少加了乙個括號

4樓:

輸出結果為:

8,45,8

.以下程式執行時,輸出結果的第一行是 ,第二行是 。

5樓:白狐

首先,要知道change(x,y)函式是把十進位制數x轉換成y進製的數並輸出。然後就可以看main()函式了。第一行是把十進位制數10轉換成2進製數:

10=1010然後printf("\n")是換行,change(10,8)是吧十進位制數10轉換成8進製數:10=12所以輸出結果是:

1010 //第一行輸出

12 //第二行輸出

6樓:匿名使用者

第一行:1010

第二行:12

第一行5 4 3 2第二行6 7 8 9第三行13 12

一 個數判斷 第一行1個,符合公式1 2 1 1 第二行3個,符合公式2 2 1 3,第 三 四行為5,7個,符合公式3 2 1 5,符合公式4 2 1 7,推出個數的通用公式表示式 n 2 1 二 每行收尾數判斷 1至4行收尾數分別為 1,4,9,16,符合公式 第一行序數1的平方,1,奇行為負,...

在裡如何批量調換第一行和第二行的內容

淡淡的雅興 在word中,縮小第一行與第二行的間距的操作步驟 1 選中需要調整的文字 2 單擊開始選項卡右下角如圖所示的按鈕 3 彈出段落對話方塊,在行距處,選擇固定值,在其後面的輸入框中,輸入所需要的數值即可,如圖所示。 編輯 替換 查詢內容 0 9 1 127 13 0 9 1 127 13 替...

矩陣a為3 3的 第一行51 0 第二行 2 3 1第三

由 ax b 2x 得 a 2e x b a 2e,e 3 1 0 1 0 0 2 1 1 0 1 0 2 1 4 0 0 1 r1 r2,r3 r2 得 1 0 1 1 1 0 2 1 1 0 1 0 0 0 5 0 1 1 r2 2r1,r3 1 5 得 1 0 1 1 1 0 0 1 3 2 ...