为什么我们需要带上类型后缀?U/UL/ULL/L/LL

您所在的位置:网站首页 怎么在数字后面加后缀 为什么我们需要带上类型后缀?U/UL/ULL/L/LL

为什么我们需要带上类型后缀?U/UL/ULL/L/LL

2024-07-15 21:37| 来源: 网络整理| 查看: 265

类型后缀

给变量赋值的时候分两个阶段。 第一步,如果没有指定字面量的类型,C99会找到一个能容纳字面量值的最小的带符号类型(int / long int / long long int)。 第二步,转换成左边变量类型并赋值。

long i = 0xffff; // 0xffffffffffff long j = 0xffffU; // 0x00000000ffff long k = 0xffffUL; // 0x00000000ffff

在下面几种场景里,我们需要显式指定字面量的类型来避免问题。

未定义的行为 printf("%lld", 1LL); // correct, because 1LL has type long long printf("%lld", 1); // undefined behavior, because 1 has type int 防止溢出 在这里插入图片描述 long x = 10000000L * 4096L; 移位操作 unsigned long long y = 1ULL


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3