c - 整数相除没有结果

标签 c floating-point integer divide

我试图除以 2 个整数并获得浮点结果,但它似乎无法正常工作。你能看出我哪里做错了吗? sscanf 部分工作正常,问题出在分割部分。

char *latitude = "4055,1792.N";
int val1;
int val2;
int val3;
float result;

sscanf ( latitude, "%2d%2d,%4d", &val1, &val2, &val3);
printf("\r\nval1 = %d val2 = %d val3 = %d\r\n",val1,val2,val3);
result = val1 + (float)val2/(float)60 + (float)val3/(float)600000;

printf("\r\nResult = %f\r\n",result);
printf("\r\nEnd\r\n");

此代码不会导致此操作。这是输出:

val1 = 40 val2 = 55 val3 = 1792                                                 

Result =                                                                        

End

最佳答案

您使用的是哪个编译器。 海湾合作委员会——版本 gcc(GCC)4.5.1 20100924(红帽4.5.1-4)

它给出了以下结果。

val1 = 40 val2 = 55 val3 = 1792

结果 = 40.919655

关于c - 整数相除没有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34724985/

相关文章:

c - 多次包含仅 header 库时出现重复符号

c - 按Q退出循环

C从CMD获取输入

c++ - 当 dif==0 时该过程将停止,但当 dif==-0.000000 时它不会停止

java - 将整数表示为方差最小的整数之和

c - 在 ld 中明确指定符号的位置

python - 格式化没有尾随零的 float

java - 查找我的浮点值 ArrayList 的最小值

c - 当我在 C 中将 long int 分配给 int 时会发生什么?

javascript - 整数验证未按预期工作