<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # C 強制類型轉換 強制類型轉換是把變量從一種類型轉換為另一種數據類型。例如,如果您想存儲一個 long 類型的值到一個簡單的整型中,您需要把 long 類型強制轉換為 int 類型。您可以使用**強制類型轉換運算符**來把值顯式地從一種類型轉換為另一種類型,如下所示: ``` (type_name) expression ``` 請看下面的實例,使用強制類型轉換運算符把一個整數變量除以另一個整數變量,得到一個浮點數: ``` #include <stdio.h> main() { int sum = 17, count = 5; double mean; mean = (double) sum / count; printf("Value of mean : %f\n", mean ); } ``` 當上面的代碼被編譯和執行時,它會產生下列結果: ``` Value of mean : 3.400000 ``` 這里要注意的是強制類型轉換運算符的優先級大于除法,因此 **sum** 的值首先被轉換為 **double** 型,然后除以 count,得到一個類型為 double 的值。 類型轉換可以是隱式的,由編譯器自動執行,也可以是顯式的,通過使用**強制類型轉換運算符**來指定。在編程時,有需要類型轉換的時候都用上強制類型轉換運算符,是一種良好的編程習慣。 ## 整數提升 整數提升是指把小于 **int** 或 **unsigned int** 的整數類型轉換為 **int** 或 **unsigned int** 的過程。請看下面的實例,在 int 中添加一個字符: ``` #include <stdio.h> main() { int i = 17; char c = 'c'; /* ascii 值是 99 */ int sum; sum = i + c; printf("Value of sum : %d\n", sum ); } ``` 當上面的代碼被編譯和執行時,它會產生下列結果: ``` Value of sum : 116 ``` 在這里,sum 的值為 116,因為編譯器進行了整數提升,在執行實際加法運算時,把 'c' 的值轉換為對應的 ascii 值。 ## 常用的算術轉換 **常用的算術轉換**是隱式地把值強制轉換為相同的類型。編譯器首先執行**整數提升**,如果操作數類型不同,則它們會被轉換為下列層次中出現的最高層次的類型: ![Usual Arithmetic Conversion](https://box.kancloud.cn/2015-12-14_566e44950d3c2.png) 常用的算術轉換不適用于賦值運算符、邏輯運算符 && 和 ||。讓我們看看下面的實例來理解這個概念: ``` #include <stdio.h> main() { int i = 17; char c = 'c'; /* ascii 值是 99 */ float sum; sum = i + c; printf("Value of sum : %f\n", sum ); } ``` 當上面的代碼被編譯和執行時,它會產生下列結果: ``` Value of sum : 116.000000 ``` 在這里,c 首先被轉換為整數,但是由于最后的值是 double 型的,所以會應用常用的算術轉換,編譯器會把 i 和 c 轉換為浮點型,并把它們相加得到一個浮點數。
                  <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>

                              哎呀哎呀视频在线观看