为什么我们需要带上类型后缀?U/UL/ULL/L/LL |
您所在的位置:网站首页 › 怎么在数字后面加后缀 › 为什么我们需要带上类型后缀?U/UL/ULL/L/LL |
类型后缀
给变量赋值的时候分两个阶段。 第一步,如果没有指定字面量的类型,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 防止溢出![]() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |