标签:固定 汇编 std todo div 数值 作用 col clu
#include <stdio.h> int main() { printf("%lld\n", 4); printf("%lld\n", (long long int)4); return 0; }
$ ./a.out
-4643154951747403772
4
$ ./a.out
-4641411195025227772
4
如上所示,每次执行的数值不一致。
需要理解,强制类型转换实际是进行了什么动作。
是因为此时没有进行强制类型转换,而且同样不会发生隐式类型转换。
#if 0
TODO : 添加汇编解析
#endif
#include <stdio.h> long long int aa = 4; /*发生了隐式类型转换,隐式类型转换发生在数值赋值时,作用跟强制类型转换一致*/ long long int bb = (long long int)4; int main() { printf("%lld\n", aa); printf("%lld\n", bb); return 0; }
$ ./a.out
4
4
此时又为什么数值是固定的了?隐式类型转换。
标签:固定 汇编 std todo div 数值 作用 col clu
原文地址:https://www.cnblogs.com/rivsidn/p/9260875.html