国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

C語言八進(jìn)制學(xué)習(xí)小結(jié)

2019-11-10 16:53:46
字體:
供稿:網(wǎng)友

讀了一下《C語言陷阱與缺陷》,開篇的一個介紹便是八進(jìn)制。說起來,這個問題在我工作的過程中還確實是遇到過。

在C語言中,以0開頭的數(shù)字被識別為八進(jìn)制。簡單寫一段代碼如下:

  1 #include"stdio.h"

  2 

  3 int var1 =123;

  4 int var2 =0123;

  5 

  6 int main(void)

  7 {

  8     PRintf("var1 =%d/n",var1);

  9     printf("var2 =%d/n",var2);

 10    return 0;

 11 }

編譯運行結(jié)果:

GreydeMac-mini:oct greyzhang$ gcc oct.c 

GreydeMac-mini:oct greyzhang$ ./a.out 

var1 = 123

var2 = 83

從書中看到,有些編譯器會把0789這樣的數(shù)值也會按照八進(jìn)制的轉(zhuǎn)換方式進(jìn)行轉(zhuǎn)換。最終的結(jié)果為9*(8**0) + 8*(8**1) + 7*(8**2)計算出來。不過在標(biāo)準(zhǔn)C中,這是不允許的。簡單測試一下,修改代碼:

  1 #include"stdio.h"

  2 

  3 int var1 =789;

  4 int var2 =0789;

  5 

  6 int main(void)

  7 {

  8     printf("var1 =%d/n",var1);

  9     printf("var2 =%d/n",var2);

 10    return 0;

 11 }

編譯與運行:

GreydeMac-mini:oct greyzhang$ gcc oct.c 

oct.c:4:14: error: invalid digit '8' in octal constant

int var2 = 0789;

             ^

1 error generated.

查看一下編譯器的版本信息:

GreydeMac-mini:oct greyzhang$ gcc -v

Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1

Apple LLVM version 8.0.0 (clang-800.0.42.1)

Target: x86_64-apple-darwin16.4.0

Thread model: posix

InstalledDir: /Library/Developer/CommandLineTools/usr/bin

不像之前用過的gcc,這次沒有g(shù)cc的版本信息,不過里面的信息在使用Python的時候倒是看到過。

[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin

由以上信息可以看出,其實Mac里面提供的gcc編譯器并不是gcc而是一個兼容gcc功能的一個編譯器。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 临夏县| 冷水江市| 涪陵区| 南京市| 沿河| 会东县| 高陵县| 磴口县| 陆川县| 泊头市| 砀山县| 瑞金市| 浠水县| 孟州市| 瑞安市| 上栗县| 朝阳县| 景谷| 南靖县| 西丰县| 金阳县| 万载县| 若羌县| 浦江县| 扶沟县| 明星| 汾阳市| 栖霞市| 宁武县| 玉树县| 林口县| 鹰潭市| 海宁市| 交城县| 镇坪县| 衡山县| 浦县| 大化| 蚌埠市| 洪江市| 房山区|