使用float和printf遇到C问题

时间:2016-03-27 18:24:34

标签: c io floating-point printf stdio

我试图在C中运行一些基本代码来声明2个浮点变量,然后将它们分开并将该值放在第3个变量中。在此之后我打印所有3。

#include <stdio.h>
int main ()
{
  /* variable definition: */
  float a, b, c; 
  /* variable initialization */
  a = 1.2;
  b = 2.7;  
  c = a / b;
  printf("Floats (a,b) and quotient (c) are : %d,%d,%d \n", a,b,c);  
   return 0;
}

我正在使用在线编译器&#34; www.ideone.com&#34;编译和运行代码,这是我得到的结果:

Success time: 0 memory: 2156 signal:0

浮点数(a,b)和商(c)为:1073741824,1072902963,-1610612736

任何人都可以看到我是否在代码中犯了错误?对于一个班级而言,一切都在方向的每一步都很好,直到我从int变为浮动。

2 个答案:

答案 0 :(得分:1)

你想打印浮动,因此改变了这个:

printf("Floats (a,b) and quotient (c) are : %d,%d,%d \n", a,b,c);

到此:

printf("Floats (a,b) and quotient (c) are : %f,%f,%f \n", a,b,c);

有关详情,请查看ref

答案 1 :(得分:0)

%d不是float的正确转换,请改用<{1}}

变化:

%f

为:

printf("Floats (a,b) and quotient (c) are : %d,%d,%d \n", a,b,c);

你应该没事。