c語言中sss之間有什麼區別翱求

時間 2021-05-05 14:19:55

1樓:jiawen廖

(*s++) 解引後得到s指向位置的值,將該值作為表示式的結果,然後s指標往後偏移s++ 即s指標往後偏移*s++ 。

1、編譯器解析到*,判斷為指標運算符號,需要乙個標示符或者表示式;

3、繼續解析到++,由於*與++是同一優先順序,結合性為右到左,所以等同於*(s++);

4、然後是=,判斷為賦值運算子,優先順序比++低,因此前面的部分可以直接進行計算。

2樓:

當*為乘法時,++優先順序大於*;但是當*為指標時,它們優先順序相同,結合方向為從右往左,

*s++等價於*(s++)

例:*s++=e指先把e賦給*s,再s=s+1(指標s指向下乙個)。

*++s=e指先s=s+1(指標s指向下乙個),再把e賦給*s。

3樓:匿名使用者

(*s++)與*s++根本就是一樣的呀。 是不是*(s++)呀s++是指位址偏移,偏移乙個型別的位元組,假如s是int的指標,那就偏移4個位元組,陣列的話就相當於移到下乙個元素。

*是解除引用,就是得到該指標所儲存位址對應的值。

*(s++)與*s++主要是優先順序的問題了。因為*的優先順序高於++ 而又低於()

所以*(s++)是先發生位址偏移,再解引用得到值*s++則是先對s解除引用,然後再發生位址偏移。(這裡不知是解除引用後發生位址偏移還是對*s後的值+1)

4樓:俏皮妹

要考慮到指標的解引用,以及操作符的優先順序

C語言的錯誤,C語言中的錯誤和警告有什麼區別

語法錯誤,return前面缺少分號,上面一句printf最後沒加表示語句結束的分號 話說要學程式設計還是把英語練練吧,這麼簡單的英文提示都看不懂,以後比較麻煩 阿拉木薩 錯誤會導致程式無法編譯通過,進而不能執行而警告是說程式中有些 編寫不是非常恰當,不會影響程式編譯,在少數情況下會影響程式執行一般警...

C語言中的清屏有什麼作用那,C語言中清屏函式是什麼?

小丁創業 c語言中的清屏的作用為 清除螢幕輸出。呼叫清屏時,螢幕上的所有輸出都將被清除,這相當於為軟體重新提供了畫布以自由輸出。螢幕清除通常用於以下情況 1 當最後一個功能的執行完成時,輸出不再重要,並且需要顯示新的內容或選單。2 對於加密,例如某些記憶遊戲,在顯示幾秒鐘後,清除所有輸出。3 要顯示...

C語言中賦值語句有什麼規則要求,c語言中規定 賦值運算子的左邊必須是什麼

由於在賦值符 右邊的表示式也可以又是一個賦值表示式,因此,下述形式 變數 變數 表示式 是成立的,從而形成巢狀的情形。其之後的一般形式為 變數 變數 表示式 例如 a b c d e 5 按照賦值運算子的右接合性,因此實際上等效於 e 5 d e c d b c a b 注意在變數說明中給變數賦初值...