標 題: 朗訊筆試題目--c語言部分
跳出main()函式後還能不能執行其他**
不使用第三個變數,將兩個變數a,b得值互換(不准用函式)
如何判斷乙個檔案是由c編譯環境還是c++編譯環境編譯完成的?
不用任何條件語句求兩個整形數的最大值?(不准用函式)
struct student 所佔空間多大?
下面是一些解法,又可以從中學習到新東西了,赫赫:
: 跳出main()函式後還能不能執行其他**
1)atexit 繫結退出函式
2)就是main執行完後,還能否執行其他**
當然可以,通常.fini段的**是最後執行的,
如果有什麼需要在整個程式執行完後做的,就可以放在.fini段做
: 不使用第三個變數,將兩個變數a,b得值互換(不准用函式)
1。) xor (<===異或???)
2.)a+=b;
b=a-b;
a=a-b;
3)想出乙個很不爽的方法
a*(((int)(b-a))>>31)+b*(((int)(a-b))>>31) (<==要右移31位?太誇張了巴)
31可以換成sizeof(int)*8-1
: 如何判斷乙個檔案是由c編譯環境還是c++編譯環境編譯完成的?
編譯的時候可以用__cplusplus巨集判斷。
至於編譯完成之後拿elf檔案來判斷,我能想到的就是nm,
看一下有沒有鏈libstdc++。不過這個也不保險。
: 不用任何條件語句求兩個整形數的最大值?(不准用函式)
?:算不算條件語句?:)
: struct student 所佔空間多大?
1)data alignment and padding
2)應該是12
中興筆試題目總結(一)C 部分
一 程式設計題目 1 輸入某班級學生的姓名 分數,並對分數進行降冪排列並輸出 include using namespace std struct node void show node head int linklen node head return len void sort node hea...
經典C 語言筆試題目 1
q1 c和c 中struct有什麼區別?q2 c 中的struct和class有什麼區別?a 從語法上講,class和struct做型別定義時只有兩點區別 一 預設繼承許可權。如果不明確指定,來自class的繼承按照private繼承處理,來自struct的繼承按照public繼承處理 二 成員的預...
經典C 語言筆試題目 3
q1 heap與stack的差別 a heap是堆,stack是棧。stack的空間由作業系統自動分配 釋放,heap上的空間手動分配 釋放。stack空間有限,heap是很大的自由儲存區 c中的malloc函式分配的記憶體空間即在堆上,c 中對應的是new操作符。程式在編譯期對變數和函式分配記憶體...