C语言的int和double转换的值为什么是一个很小的数?

图片说明
图片说明
在a和price打断点后a和price的值都很小
图片说明

double num=0.0d;
这个要加上

至于为什么a的值不对,你先调试下n的值