<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                看見一個貼子,發貼人搞不清輸出結果中的“為什么”(見[http://bbs.csdn.net/topics/390623518](http://bbs.csdn.net/topics/390623518))。給出的程序是: ~~~ #include <stdio.h> int main(void) { /* 將單個字符賦值給整形變量,結果為字符的ASCII值 */ int a = 'a'; printf("a = %d\n", a); /* ?這里如何解釋 */ a = 'abc'; printf("a = %d\n", a); /* 將字符串賦值給整形變量,結果為字符串的地址值 */ a = "a"; printf("a = %d\n", a); a = "abc"; printf("a = %d\n", a); return 0; } ~~~   'abc'這樣的寫法,我也是第一次見到,居然編譯器只給一個警告。   程序的運行結果是:   ![](https://box.kancloud.cn/2016-06-07_575640493855f.jpg)   第二行的結果,即a = 'abc';后a的值顯得詭異,跟貼中,大家紛紛猜測。   我對這種情況也不清楚,這時想到的是,要將整型數a中的4個字節中每個字節的值能分隔出來,應該就一目了然了,最好將每個字節解釋成一個之字符直接輸出來看。   想到了“聯合體”union,將程序改造了一下,得到下面的程序: ~~~ #include <stdio.h> union un { int i; char c[4]; }; int main(void) { /* 將單個字符賦值給整形變量,結果為字符的ASCII值 */ int a = 'a'; union un b; printf("a = %d\n", a); /* 這里的b.i就相當于原來的a,而b.c數組與b.i占用同一段4字節的空間 */ b.i = 'abc'; printf("b.i = %d\n", b.i); printf("b.c = %c %c %c %c\n", b.c[0], b.c[1],b.c[2],b.c[3]); /* 將字符串賦值給整形變量,結果為字符串的地址值 */ a = "a"; printf("a = %d\n", a); a = "abc"; printf("a = %d\n", a); return 0; } ~~~   運行結果是:   ![](https://box.kancloud.cn/2016-06-07_5756404955930.jpg)   結果不解釋了,原理應該在“計算機組成原理”或“計算機體系結構”中介紹,學過匯編語言的人也明白。程序員學軟件,要對計算機系統有理解,這是專業人員該關注的。   C/C++中的union,似乎在教學中都是一帶而過,感興趣的同學,再找其他資料了解了解即可。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看