首页 > 后端开发 > C++ > 什么时候整数文字不是'int”?

什么时候整数文字不是'int”?

Patricia Arquette
发布: 2024-12-17 06:02:24
原创
147 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板