国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 马公市| 湘潭市| 临汾市| 宝清县| 永康市| 阿拉善右旗| 荣昌县| 怀安县| 兴业县| 汪清县| 海林市| 内乡县| 临颍县| 邵东县| 利津县| 宜兰县| 太保市| 天全县| 韶山市| 磴口县| 金秀| 陇南市| 应城市| 建昌县| 两当县| 济源市| 永吉县| 田东县| 麟游县| 体育| 建平县| 岳西县| 重庆市| 阳山县| 城口县| 玉林市| 崇义县| 南和县| 米脂县| 苍梧县| 拜泉县|