C語言程式題目

2022-10-28 15:25:23 字數 593 閱讀 5026

1樓:匿名使用者

b是對的

a int a[5], *p;p=&a ; //a已經是陣列的首地址了,再對a取地址&a是錯誤的

b int a[5],*p;p=a; //對的

c int a[5]; int *p=a=100 ;//連等賦值的順序是從右向左的,所以先執行a=100,但是a是陣列的首地址,對a這個地址進行賦值是錯誤的

d int a[5]; int *p1,*p2=a; *p1=*p2; //p1是一個指標,但是在進行*p1=*p2賦值前,p1並沒有指向任何一個地址,所以此時p1是一個無效地址,所以用*p2的值給p1指向的地址內的資料賦值,就變成了給一個無效地址裡的值賦值是不對的

還有在二維陣列中,p+i與*(p+i)有什麼區別??分別代表什麼???

p+i:是以首地址為起始地址,偏移i個單位的地址

*(p+i):是第i行(從0開始計數)的行首地址

2樓:甄喜歡你

選b啦 p是一維指標 &a要對用二維指標賦值 錯a=100就錯 a不允許改變

p1沒有指向的物件 隨便賦值錯的

p+i是行指標

*(p+i)是列指標

c語言程式if和for的迴圈題目

include int main printf d m return 0 執行示例 c語言題目 要求用for迴圈語句控制行列或星號及空格的數量 include define zf int main void return 0 一個c語言的題目關於if和else if ifelse if 前邊滿足不執...

一道c語言程式題目,求解答,一道C語言程式題目,求解答

上面的 中,沒有對s進行輸入,所以如果輸出s的話,指定會是亂碼的啊把指標調回p 0 的話,可以p 回去 或者在p改變之前,用tmp p儲存起始位置。struct stu tmp p p p tmp p 此外,我猜,這個程式中的s是為了儲存平均值?struct stu int main int i,l...

c語言程式輸出數字金字塔,c語言題目編寫程式列印數字金字塔用迴圈語句編寫

給,已經編譯執行通過 include include void main printf n getch 不知道你到底想輸出幾行,如果只是這幾行的換,直接輸出就行了。在你需要加空格的地方加空格就行了。偷懶的做法。把 換成空格就好了!include int main void c語言題目 編寫程式列印數...