Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 除以整数不会得到结果_C_Floating Point_Integer_Divide - Fatal编程技术网

C 除以整数不会得到结果

C 除以整数不会得到结果,c,floating-point,integer,divide,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",

我试图除以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(gcc)4.5.1 20100924(红帽4.5.1-4)

它给出了以下结果

val1=40 val2=55 val3=1792


结果=40.919655

您错过了其他内容。你能把那段代码放在一个主程序中并进行测试吗?试着用
L
来修复
600000
600000L
你在用什么编译器?请张贴完整的代码。你收到编译器警告了吗?@abdullahcinar你第三次忽略了一个简单的问题。你在使用什么编译器???在这个问题上使用main对我来说很有用(RHEL6/gcc)。所以我同意这似乎是一个编译器问题…arm gcc 4.9-2015-q-1似乎是关于我的IDE,我正试图用Cypress支持来解决它。谢谢