- C陷阱與缺陷
- (美)安德魯·凱尼格
- 232字
- 2021-01-15 16:46:07
1.4 整型常量
如果一個整型常量的第一個字符是數字0,那么該常量將被視作八進制數。因此,10與010的含義截然不同。此外,許多C編譯器會把8和9也作為八進制數字處理。這種多少有點奇怪的處理方式來自八進制數的定義。例如,0195的含義是1×82+9×81+5×80,也就是141(十進制)或者0215(八進制)。我們當然不建議這種用法,ANSI C標準也禁止這種用法。
需要注意以下這種情況,有時候在上下文中為了格式對齊的需要,可能無意中將十進制數寫成了八進制數,例如:
struct {
int part_number;
char *description;
}parttab[] = {
046, "left-handed widget" ,
047, "right-handed widget" ,
125, "frammis"
};
推薦閱讀
- The Complete Rust Programming Reference Guide
- 企業級Java EE架構設計精深實踐
- Python神經網絡項目實戰
- Visual C++串口通信技術詳解(第2版)
- 名師講壇:Java微服務架構實戰(SpringBoot+SpringCloud+Docker+RabbitMQ)
- Learning Zurb Foundation
- Java面向對象程序設計
- Creating Data Stories with Tableau Public
- AV1視頻編解碼標準:原理與算法實現
- ASP.NET 4.0 Web程序設計
- 金融商業數據分析:基于Python和SAS
- C語言程序設計教程
- 一覽眾山小:ASP.NET Web開發修行實錄
- 語義Web編程
- Hands-On GUI Application Development in Go