帮忙分析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
line 11: d% => %d,若%d装不下改用%f or %lf 错误和类型转换没有任何关系
你用%d 输出一个double
结果当然是错的
页:
[1]