關於C 的一道題

2021-12-30 05:12:39 字數 617 閱讀 1103

閱讀下面程式,然後請寫出輸出結果:

[cpp] view plaincopy

#include  

using namespace std;  

int main(void)  

輸出結果如下圖:

分析:為什麼會這樣的結果呢?首先我們先分析一下程式,首先我們先看看第一組a和b,那麼a和b是什麼呢?根據我們所學,我們知道a和b是陣列的首位址,那麼這個表示式(a==b)結果必然是不相等的,所以表示式的結果為0.然後我們再看一下第三組,前面多了個const限定符,const限定符只是在編譯階段編譯器檢查是否程式中有修改其變數的行為,當然我們可以通過一些手段來騙過編譯器,來達到修改其值,不過這裡有沒有const和輸出結果無關,與第一組a和b是一樣的,因為e和f都是陣列首位址,所以表示式(e==f)結果也必然為0.那麼我們關注一下第二組和第四組,這裡定義的c和d以及g和h都是字串指標,按道理來說他們的位址應該不相等,為什麼(c==d)和(g==h)的表示式為1呢?原因就是編譯器過於聰明,字串「123」在記憶體中只保留了乙份,所以指標指向的是同一位址,那麼自然的位址也相同,必然輸出1。

一道關於訊號的題

用fork建立兩個子程序,呼叫signal 讓父程序接收鍵盤上的中斷訊號 control c 捕捉到訊號後父程序用kill 向子程序傳送自定義訊號,子程序捕捉到訊號後分別輸出如下資訊後終止 child process 1 is killed by parent child process 2 is ...

一道關於矩陣的題

wzz的視察 檔名 inspect 時限 1s 記憶體 256mb decription wzz擁有乙個王國。他的王國是長方形的,跨越了n個維度區和m個經度區,且在每個經度區和緯度區的交界處有一座城市 即wzz的王國一共有n m座城市 某一天早上,wzz從他的一萬平方公尺的大床上起來,他決定去視察一...

一道關於排序的演算法題

題目 給定乙個無序陣列a,一直這個陣列a中的任意乙個元素所在的位置離其最終排序後的位置相差的距離不會超過k。即排序前a i 在位置i,那麼在排序後該元素的位置會在 i k,i k 這個範圍內。現在要求給出乙個演算法使得演算法盡量高校。解析 這裡就不多說了,直接給自己的解法吧。利用乙個大小為k 1的最...