1樓:匿名使用者
選d*是用來取指標指向的位址中的資料的.a不是指標,當然不能寫作*a了.
而b=*&a之所以對是因為:
int *p=&a;它相當於int *p;p=&a; p是指標,所以&a也是指標,所以才會有*(&a)之說啊
設有語句 int a=3 ; 則執行了語句 a+ = a * a後,變數a 的值是( ) a、3 b、0 c、9 d、12
2樓:匿名使用者
賦值運算是從右到左的上面的語句運算順序是:a-=a*a;a+=a;計算第乙個後a的值是-6,再計算第二個,a的值就是-12
3樓:日出日落三十天
d a=3+3*3=12
若有定義語句:int a[2][3],*p[3]; ,則以下語句中正確的是
4樓:匿名使用者
應該選c。
p是乙個指標數
組,它有四個元素,每個都是乙個指向int型的指標。
a是乙個二維陣列,它的每個元素都是int型的。
a的錯誤是因為p是常量(陣列名都是指標常量),不可以被賦值。而且p和a的型別也不一致。
bcd都是對p的元素賦值,這是可以的,等號右邊應當是乙個int型資料的指標(即位址)。c選項中a[1][2]是a的乙個元素,是乙個int型值,&取了它的位址,所以是正確的。
5樓:匿名使用者
int* p[3]是定義了乙個大小為3的陣列指標,也就是定義了三個int型的指標。
p代表指標陣列的首位址,相當乙個二維指標。
p[0],p[1],p[2]代表乙個int型指標c是對的
若有定義 int a[3][4],b[4][3],(*p)[4]; 下列賦值等式正確的是 答案是 p=&a[1] p=b為什麼錯
6樓:匿名使用者
(*p)[4]的意思是:p是乙個指向具有4個int型別元素陣列的指標。
a[3][4]有3行,每行的元素有4個
b[4][3]有4行,每行的元素有3個
所以 p=&a[1]是對的,讓p指向a的第二行的四個元素,因為a的每行有四個元素,這與p的定義恰恰是匹配的。
設inta1,2,3,4,b,pa,與bp等價的語句是
應該選擇b,這個涉及到符號優先順序的問題,符號的優先順序要比 高,所以應該是 p 不過,b最終等於1,因為,在p的後面所以要先遠算完了這個式子,然後p再 b。後置 的優先順序高於一元 選 b 後自增是在表示式結束後再自加的,加不加括號都一樣。選b 不管擴不擴起來都是後執行。c語言 定義則執行y p ...
定義int a,定義乙個int a 2 3 , p 3 ?
a 雖然是代表 2維陣列a 的首位址,但 要用來給指標陣列 p賦值,應該用a 0 這樣 才可能對應 吧 int a 2 3 p 3 是復int a 2 3 制int p 3 的意思,前者是宣告乙個bai2行3列的int型二維 du陣列,a代表a 0 的位址 a 0 顯然a就是下標zhi為0的那 da...
設有定義 int a 2,b 3,c 4,則以下選項中值為0的表示式是
a.a 1 b 0 非零等於0 0 為零 所以選a b.a 1 一定為1 c.a b 非零 非零。為1 d.a b b c a a非零 為1 1小於b 所以結果還是為1 通過下面這個程式,執行結果顯示 a 的值為0 include int main 根據c語言運算子的優先順序和結合性,具體解釋 a ...