我正在为家庭作业编写简单的代码。当我定义它时,我从用户那里得到一个数字,即 3.4
scanf("%d",&a)
它只需要 3 就可以做到。我定义a
为
int a;
我应该怎么办?
我认为您对 c 编程很陌生。这是一个非常简单的工作。这可以这样做: -
float a;
// to input a data in the variable a
scanf("%f",&a);
//to display the stored data
printf("%f\n",a);
//or
printf("%.nf\n",a);//specify value of n
//maximum value of n is 6 also is its default value
//for e.g. printf("%.2f",a); will display decimal number upto two digits after the decimal place
//you can know more about displaying data as
%d: decimal value (int)
%c: character (char)
%s: string (const char *)
%u: unsigned decimal value (unsigned int)
%ld: long int (long)
%f: float value (float or double)
%x: decimal value in Hexadecimal format
%o: decimal value in octal format
有关格式规范的 avialabe 列表,请转到此处
使用浮动
float a;
scanf("%f", &a);
%d 用于 int。3.4不是int类型,可以用float。
float x;
scanf("%f", &x);
有关数据类型的详细信息,您可以在此处查看:http ://en.wikipedia.org/wiki/C_data_types
还有这里:http ://www.techonthenet.com/c_language/variables/index.php
您正在声明 int a 只能采用整数值,因此您要做的就是使其浮动,用于具有小数点的数字
浮动一个;scanf(%f,&a);
对于 int 变量非常简单,我们使用 %d 格式说明符,如果我们想要浮点数,我们使用 %f 格式说明符。因为根据IEEE int 和float 位图格式是不同的。