首頁 > 後端開發 > C++ > 什麼時候整數文字不是'int”?

什麼時候整數文字不是'int”?

Patricia Arquette
發布: 2024-12-17 06:02:24
原創
146 人瀏覽過

When is an Integer Literal Not an `int`?

整數文字的型別預設不是 int

在程式設計中,整數文字的型別通常被假定為 int。然而,在某些情況下情況可能並非如此。

考慮以下C 程式碼:

for (i = 0; i < 10000000000; i++)
登入後複製

儘管文字10000000000 沒有附加「L」後綴(這明確地表明表示長整型),編譯器認為該值超出了32 位元的範圍整數。

根據 C99 和 C 11 標準,整數常數的類型由表 6 中可以表示其值的第一個條目決定。對於不帶後綴的十進制常量,表6 按降序指定了以下類型:

  • long long int
  • long int
  • int

因此,在給定的程式碼範例中,編譯器將文字解釋為long int (或long long int如果 long int 是 32 位元)來容納它的大值。

需要注意的是,「太大」的文字通常會導致編譯錯誤。這是因為該值不能用任何允許的類型表示。

以上是什麼時候整數文字不是'int”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板