阁龙1427 发表于 2016-12-15 10:41:10

帮忙分析C强制类型转换导致的错误

#include<stdio.h>

int main(void)
{
int a = 0x10;
double b = 0x10000000;
double c;

c =a+b;

printf("c val is : d% \n ",c);
while(a>0)
{
       ;
}

}

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

结果输出错误 c:d

呆鸭 发表于 2016-12-15 10:53:18

line 11: d% => %d,若%d装不下改用%f or %lf

求道于盲 发表于 2017-6-26 21:35:21

错误和类型转换没有任何关系
你用%d 输出一个double
结果当然是错的
页: [1]
查看完整版本: 帮忙分析C强制类型转换导致的错误