3下列程式段執行後的輸出結果是,3 下列程式段執行後的輸出結果是 。 char ch abc ,x 3 4 int i for i 0 i 3 i strc

2021-05-05 16:18:08 字數 1200 閱讀 4476

1樓:牧洋

for(i=0;i<3;i+ +) strcpy(x[i],ch); 此句把ch的值賦給x[3][4]。

x[3][4]的值為: a,b,c,/0a,b,c,/0

a,b,c,/0

for(i=0;i<輸出%s遇到/0則結束。

i=0;從x[0][0]開始;輸出abc遇到/0結束;以此類推;

i=1;從x[1][1]開始;輸出是bc;

i=2;則為c。

如果把for(i=0;i<中「&x[i][i]」改為「&x[i][0]」 則輸出abcabcabc。

2樓:

//很有趣的問題

for(i=0;i<3;i++) strcpy(x[i],ch);/*strcpy是字串複製函式,也就是x=*/

for(i=0;i<第一迴圈&a[0][0]是指向陣列首行首列的地址,輸出的是

首行首列開始的字串.

因為陣列x[3][4]定義的是4列也就是4個字元, c能夠自動為每行結尾增加'\0'輸出字串時遇'\0'就停,所以是abc. 如果是x[3][3]則最後輸出是:abcabcabcbcabcc.

第二迴圈&a[1][1]指向的是1行1列,同理由二行b開始到'\0'結束。就是bc。 同理:

第三迴圈 &a[2][2]輸出的是c。*/}

以下程式執行後的輸出結果是()

3樓:匿名使用者

for(i=0;i<3;i++)

的作用是把x[3][4]初始化成,而

for(i=0;i<3;i++)

輸出的其實是&x[0][0],&x[1][1],&x[2][2],&是取地址符,所以輸出型別變為char的指標,而結果就是從當前地址開始,輸出其後的字元,直到'\0'結束符為止,而'\0'結束符在字串"abc"宣告時,已經預設新增在末尾了,並在呼叫strcpy時,賦值給了x的三個二維陣列(這也是為什麼二維陣列的元素個數是4而不是3的原因),所以你看到的結果是"abc""bc""c"

而當你去掉&符號,就變成了輸出char型別資料,x[0][0],x[1][1],x[2][2],結果也就變成了'a''b''c'

下列程式段執行後的輸出結果是什麼,為什麼

1 3dowhile 型,必定執行一次,所以第一次迴圈,一定會進入這時 printf 2d a 3 等價於 a a 3 因為a初值為4,所以a 1 printf 2d a 輸出1while a 等價 while a 1 等價 while 0 因為 0的值為 true 所以再迴圈1次 a a 3 等價...

c語言下面程式段執行完成後的輸出結果是

輸出 2 x 2是賦值語句,成立,執行printf,因為是x 所以先輸出x,x再自加,故答案是c 下述程式段的輸出結果是 int x 10 int y x printf d,d x y y 答案是 11,10 先放張圖,規律bai很容易看出來吧 du首先,逗號 zhi運算子是 dao取右邊 這裡涉及...

下面程式輸出的結果是,下面程式輸出的結果是()。 main int i int a

從第2組開始,取到第0組 從第0個開始,取到第2個。所以是 7 5 3選b b 7 5 3 i 0 a 2 i i a 2 0 7.馬上可以確定答案是b了.i 1 a 1 1 5 i 2 a 0 2 3 1.有如下程式,該程式的輸出結果是 main int a 3 3 1,2 3,4 5,6 5 i...