鱼C论坛

 找回密码
 立即注册
查看: 1436|回复: 2

[技术交流] 帮忙分析C强制类型转换导致的错误

[复制链接]
发表于 2016-12-15 10:41:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include<stdio.h>

  2. int main(void)
  3. {
  4. int a = 0x10;
  5. double b = 0x10000000;
  6. double c;

  7. c =a+b;

  8. printf("c val is : d% \n ",c);
  9. while(a>0)
  10. {
  11.          ;
  12. }

  13. }
复制代码


查看反汇编代码时候发现一些疑点:

结果输出错误 c:d
捕获.JPG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-12-15 10:53:18 | 显示全部楼层
line 11: d% => %d,若%d装不下改用%f or %lf
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-26 21:35:21 | 显示全部楼层
错误和类型转换没有任何关系
你用%d 输出一个double
结果当然是错的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 02:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表