c 指標運算問題?

時間 2021-06-05 21:53:33

1樓:冒泡

明明你解引用賦值的是它下移前的值,下移前指向a[0]沒毛病

順便說下,上面有幾個答案說單目運算優先順序相同,也有說++比*優先順序高的,其實這些說法都不對,正確的說法是,字尾運算比字首運算優先順序高,這裡的++是字尾,*是字首,例如如果是++*p,則這裡++和*都是字首運算,字首運算又是右結合,所以先*解引用再++

2樓:C語言答疑課堂

這個我就要跟你說道說道了。這個++運算子啊,確實很討厭,特別是放在前面和後面時,就更加討厭了。就你這個情況啊, *(p++)=10; 你就這樣來記好了,剛開始*p,也就是a[0],肯定是1對吧,那麼遵循「先用再增」的原則,先用,就是把10這個數先覆蓋了1,也就是a[0]變為1了,再增,就是覆蓋完了1後,p就自增指向2了。

如果我換為*(++p)=10呢?此時就是遵循「先增再用」的原則,先增,就是p先加1,指向了2,再用,就是用10代替2,也就是a[1]變為2了。

是不是恍然大悟呀!!哈哈哈!

c語言的運算問題

C語言劉老師 優先順序高的先計算?並不是這樣的,不一定先計算,有時候可能都沒有計算 兩個相鄰的操作符的執行順序由它們的優先順序決定。如果它們的優先順序相同,它們的執行順序由它們的結合性決定。除此之外,編譯器可以自由決定使用任何順序對表示式進行求值,只要它不違背逗號 和?操作符所施加的限制。簡單舉個栗...

這個c語言問題用指標該怎麼寫?

看到這個感覺是時候安利一波C 了,這貨名字裡面也帶著個C,讀作C Sharp。首先定義好字串 strings1 There is a tree behind the house strings2 A big tree is cut down there 接下來三步走戰略開始 第一步,單詞拆分並去重 ...

一道關於C語言指標的問題?

亂碼君 array的意思是 array 0 這是個C語言語法糖,所以不用管它怎麼理解,array和 array是同乙個意思,記住它代表乙個值,就是陣列的起始位址即可。int 3 是強制轉換,就好比 int 是把值強制轉換為整數,int 3 是把值強制轉換為乙個陣列指標,這個指標指向長度為3的陣列,陣...

請教乙個C語言指標陣列問題?

郭建波 陣列指標 也稱行指標 定義 int p 10 優先順序高,首先說明p是乙個指標,指向乙個整型的一維陣列,這個一維陣列的長度是10,也可以說是p的步長。也就是說執行p 1時,p要跨過10個整型資料的長度。例 int p 4 該語句是定義乙個陣列指標,指向含4個元素的一維陣列。所以陣列指標也稱指...

c語言指標的問題,int i 1 int p p i,此時 p 1。為什麼不能直接賦值 p i呢。

AGMCAI 答案很簡單,不要去在乎 指標 這個身份本質上p和i一樣,都是變數。所以不妨試一下int i printf d i 你會發現結果很奇怪。只是因為當你宣告乙個變數i,會從記憶體中找乙個空間,給它命了乙個名,叫做i。至於這個空間裡面有什麼?誰都不知道。因此,使用變數前要對變數進行初始化。身為...