---
# System prepended metadata

title: C語言題庫-061

---

# C語言題庫-061
評價下面的代碼片斷：
```
unsigned int zero = 0;
unsigned int compzero = 0xFFFF;
/*1‘s complement of zero */
```
【參考答案】對於一個int型不是16位的處理器爲說，上面的代碼是不正
確的。應編寫如下：
unsigned int compzero = ~0;
這一問題真正能揭露出應試者是否懂得處理器字長的重要性。在我的經
驗裏，好的嵌入式程序員非常準確地明白硬件的細節和它的侷限，然而
PC機程序往往把硬件作爲一個無法避免的煩惱。
到了這個階段，應試者或者完全垂頭喪氣了或者信心滿滿志在必得。如
果顯然應試者不是很好，那麼這個測試就在這裏結束了。但如果顯然應
試者做得不錯，那麼我就扔出下面的追加問題，這些問題是比較難的，
我想僅僅非常優秀的應試者能做得不錯。提出這些問題，我希望更多看
到應試者應付問題的方法，而不是答案。不管如何，你就當是這個娛樂
吧…
