码迷,mamicode.com
首页 > 其他好文 > 详细

强制类型转换

时间:2018-07-20 11:17:56      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:固定   汇编   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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!