陣列中的冷知識

2021-08-02 08:31:38 字數 1073 閱讀 6807

可能這是一道經典的程式設計題?

#include 

using

namespace

std;int

main()

; int

*p = (int

*)(&a + 1

); cout

<< *(p - 1

) << endl;

return 0;

}

輸出結果是3。

解釋&a+1不是首位址+1,系統會認為加了乙個整個a陣列,偏移了1個陣列a的大小(也就是5個int的大小)。所以int p = (int)(&a + 1);其實p實際是&(a[5]),也就是a+5.這可能是程式設計比較有意思的地方吧,取位址後+1竟然加的是這個型別的幾何倍數。所以下面這個程式輸出結果還是3:

#include 

using

namespace

std;int

main()

; int

*p = (int

*)(&a+2

); cout

<< *(p - 4

) << endl;

return 0;

}

(function () {

('pre.prettyprint code').each(function () { var lines = (

this

).te

xt()

.spl

it(′

\n′).

leng

th;v

arnumbering = $('

').addclass('pre-numbering').hide(); (

this

).ad

dcla

ss(′

has−

numb

erin

g′).

pare

nt()

.app

end(

Python的冷知識

之前看到乙個文章,講的是一些關於python的冷知識,有興趣的可以看一下喲 省略號也是物件 在python中,一切皆物件,也不例外。在python3中 叫做ellipsis。而在python2中沒有 這個語法。只能直接使用ellipsis來獲取 它轉為布林值時為真 那麼這個 到底有什麼用呢,據說它是...

IC設計中奇怪的冷知識 來自bilibili矽農

type out holiday 流片前的一段空閒時間 串列埠通訊,接收頻率是傳送頻率的16倍 取樣倍數為16倍,實際最佳取樣數為n 2,n為樣點的個數,實際8倍,4倍,2倍都可以,保證在資料的中間取樣即可。當然頻率越高,抗干擾能力越強。intel psg 前身為2015年收購的altera,奧爾特...

css 冷知識 css變數

css變數的宣告 變數名前加兩根連線詞 body 各種值都可以放入css變數 變數名大小寫敏感 變數讀取 var 函式 body var 函式可以使用第二個引數,表示變數的預設值。如果該變數不存在,就會使用這個預設值 color var foo,ccc var 函式也可以用在變數的宣告 body 注...