#include <stdio.h>
int main()
{
float a = 5;
printf("%d", a);
return 0;
}
产出:
0
为什么产出为零?
#include <stdio.h>
int main()
{
float a = 5;
printf("%d", a);
return 0;
}
产出:
0
为什么产出为零?
由于汇编者不知会自动投向愤怒者,因此没有打印第5版。 页: 1
这就是说,
#include<stdio.h>
void main()
{
float a=5;
printf("%d",(int)a);
}
正确的产出 5.
比较该方案
#include<stdio.h>
void print_int(int x)
{
printf("%d
", x);
}
void main()
{
float a=5;
print_int(a);
}
如果编辑商直接知道将浮标投到暗中,则由于宣布了<代码>印号_int。
P.S.
int main
, not void main
.conio.h
in standard C.你们要么把浮标投到硬墙上,要么使用一种显示浮体且无精细的公式:
int main() {
float a=5;
printf("%d",(int)a); // This casts to int, which will make this work
printf("%.0f",a); // This displays with no decimal precision
}
您需要使用<代码>%f而不是%d
-%d
。 浮动点:
#include<stdio.h>
#include<conio.h>
void main()
{
float a=5;
printf("%f",a);
}
You have to use a different formatting string, just have a look at http://www.cplusplus.com/reference/clibrary/cstdio/printf/
a) 印刷;
你们希望用 %f印刷浮动值。
页: 1
float a=5;
printf("%f",a);
正如其他人所说的那样,你需要使用<条码>%f条码>,其格式为:<条码>a>。
但我要指出,您的汇编者,或许知道f (
) 格式,并可以告诉你如何使用。 我的汇编者,加上适当的援引(-Wall
,包括-Wformat
):
$ /usr/bin/gcc -Wformat tmp.c
tmp.c: In function ‘main’:
tmp.c:4: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘double’
$ /usr/bin/gcc -Wall tmp.c
tmp.c: In function ‘main’:
tmp.c:4: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘double’
$
Oh, and one more thing: you should include
in the printf()
to ensure the output is sent to the output device.
printf("%d
", a);
/* ^^ */
或fflush(stdout);
after the