p n與 p n有什麼區別,c語言 p 與 ( p) 有區別嗎?運算順序如何?

時間 2021-07-08 21:30:47

1樓:匿名使用者

.操作符的優先順序在++(*p).n這個式子中的優先順序是最高的,所以會先計算(*p).n的值,也就是a[0].n,再計算字首++,所以最終結果是6

->操作符的優先順序高於字首++操作符的優先順序,所以在++p->n中會先計算p->n的值,同樣也是a[0].n,然後再計算字首++,所以最終結果也是6

因此,c和d都正確。

2樓:

++(*p) 表示把p的內容++ ;對於struct st,則沒有++運算,更不會有後面的++(*p).n了。

++p則表示把p指標後移到下一struct st結構體。

3樓:匿名使用者

(*p)==a

++(*p).n===++a[0].n

4樓:養海瑤

(*p)++,是先取指標p的值,然後對其值進行++運算,

*(p++),是先對指標p進行++運算,然後再取取值,

*p++,同*(p++),因為按優先順序來看,*和++是同級,他們都是從右到左的順序進行運算,所以先++,再*。

如果char q[5] = "am";

char *p = q;

那麼,(*p)++後,p就變成了"bm";因為是進行對其首元素進行加1運算

*(p++)後,p就變成了"m",因為是先指向下一個元素,再進行取值運算,

*p++同上面,

如果只是徵對這3個語句賦值給其他變數的話,3個的結果都是a,在這裡。

char o = (*p)++;

char m = *(p++);

char n = *p++;

都是a。

c語言中,p是指標變數。p->n++, ++(*p).n, ++p->n 有什麼區別????

5樓:

p->n++,訪問p所指結構體變數的n成員,然後將n加一;

++(*p).n,先將p所指結構體變數的n成員加一,然後再訪問n;

++p->n,先將p指標加一,即訪問下一個結構體變數的n成員。

c語言:++*p->與++(*p)-> 有區別嗎?運算順序如何? 10

6樓:匿名使用者

有區別前者的

bai運算順序是du

後者zhi的運算順序是

1、p-> 1、(*p)2、*(p->) 2、(*p)->3、++(*(p->)) 3、++(*(p->))

c++技術網,很dao

多免費c語言版的教程,對新手學習很有好處,權對程式設計師更有溫故而知新的感覺。

程式設計師是一條漫長的路,希望你能堅持下來

7樓:匿名使用者

如果是道題,那bai你就把du

涉及到的三個運算子zhi兩兩進行比較(可以dao查表,可以試驗),然後

回再看這兩個語答句的區別。

如果這只是你工程中遇到的問題,那還是別瞎費勁了,按照你的意思去加括號。我們程式設計的時候是反對把運算堆在一起的。這樣你理解費勁,其他人看你的**也費勁。

8樓:匿名使用者

++*p是把地址加一

++(*p)是把內容加一

PN接面與PIN結的區別

pn結和pin結是兩種最基本的器件結構,也是兩種重要的二極體。從結構和導電機理上來說,它們有許多共同點,但是也存在不少的差異。l 相同點 1 都存在空間電荷區和勢壘區,則都有勢壘電容 2 都具有單向導電性和相應的整流作用,則都可用作為二極體 3 在高的反向電壓下,都有可能發生絕緣擊穿的現象,因此都存...

c語言與e語言有什麼區別,Python和c語言有什麼區別

e語言簡單易學,可以用中文來編寫。如果你只是開發一個很小的軟體或遊戲,建議使用e語言,但是做一些大型遊戲,還是建議使用c c c語言多 我不建議學e語言 e語言的確是用漢文來編寫,但是這個必有其不完善的地方 別寫起來也沒有字母省力 現在貌似很多推廣e語言的 那都是因為他們說 英語不行 但是我感覺 有...

c語言p跟p什麼區別啊,C語言 p 和p的區別?

舉例 int a 3 a是一個整型變數,值為3int p a p是一個指標,指向a的地址說p,就是指標,p 是指標指向的內容,即a地址中的內容 實際上 p 和a 這個應該是一個意思了 對初學者來說,主要是分辨 號出現的位置,下面舉例說明。int i 2 int p i 出現在定義中,表示型別 int...