1樓:水雅丹郟忻
選d.a可以自減,但自減後a的指向是不可**的,這樣做是危險的,因為它可能佔用了系統正常執行所需要的記憶體,有可能導致系統癱瘓。b同理.
c的a代表陣列名,是一個常量,只有變數才能進行自增自減運算。因此選d.因為b+1是b[1]的地址。
2樓:風雲1234白羊
剛開始指標p存的是陣列a的地址,也就是陣列元素a[0]的地址,但p本身是一個變數,通過p++等運算,可以讓它存a[1]或a[2]……的地址,就跟它可以存一樓、二樓……的門牌號一樣;關鍵在於p本身是一個變數。
3樓:
你是錯把記憶體地址與指標變數等同起來了。記憶體地址是常量,不能自增或自減的,指標變數就是用來操作記憶體地址的,你可以把指標看成是賓館的服務員,雖然每間客房的編號是固定的,不能自己改變,但服務員是活的,她可以拿不**間的鑰匙開啟不**間的門,比如,她拿了一串鑰匙,先開第一間,再開第二間,再開第三間......這是不是類似於指標在自增?
如果她反過來開門,是不是相當於指標的自減?
c語言指標的自增自減問題,急!
4樓:她愛死我
選d. a可以自減,但自減後a的指向是不可**的,這樣做是危險的,因為它可能佔用了系統正常執行所需要的記憶體,有可能導致系統癱瘓。b同理.
c的a代表陣列名,是一個常量,只有變數才能進行自增自減運算。因此選d.因為b+1是b[1]的地址。
5樓:倒黴熊
答案選d。
a 不能自減,減後越界了。能自增。
b 什麼都不行。
c 陣列名是不能自減自增的。
6樓:匿名使用者
d============
b是陣列名
a=b+1 //a指向陣列的第二個元素,即b[1]
關於C語言指標自增運算的問題,c語言中指標可不可以用在自增自減運算子中
搗蒜大師 這寫操作等價 p p 都是p加,然後 這些操作等價 p p p 相當於先 了,然後p再 include main p 指向2 printf d n p 2 p p 1 p指向3 printf d n p p指向4,再 4 p p 1 p指向5 printf d n p 5,p指向6 p p...
c語言關於自增自減運算的問題,C語言裡關於自增自減運算子的問題
這種問題,沒必要糾結。如果是 q j j 結果是7 7 14連續加法,正常邏輯應該為3 8 24,但實際上,因為編譯器的優化,連加被分割為兩次暫存器運算,等價於 int edx j j q edx j 這樣就成了7 7 8 22 這是優化問題,不必糾結。這就是實際運算模式,如果明白彙編,可以看懂。 ...
C語言程式設計關於自增自減,c語言關於自增自減運算的問題
while z 0 x 5 y y 1 這句話的意思是當z 0或 x 5有一個不為真,那麼該while結束。關鍵要看z 是先判斷,後計算,x是先計算,後判斷,各步的結果如下 1,4,2 因為z 3 0,x x 1 1 5,符合條件,執行迴圈時y 5 1 4,z 3 1 2 2,3,1 z 2 0,x...