倚天杖
正如其他人所说,您需要使用%f格式字符串或将其转换a为int。但我想指出的是,您的编译器可能知道printf()的格式字符串,并且可以告诉您您使用的格式错误。经过适当调用(-Wall包括-Wformat)的我的编译器说:$ /usr/bin/gcc -Wformat tmp.ctmp.c: In function ‘main’:tmp.c:4: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘double’$ /usr/bin/gcc -Wall tmp.ctmp.c: In function ‘main’:tmp.c:4: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘double’$哦,还有另一件事:您应该在中包含'\ n',printf()以确保将输出发送到输出设备。printf("%d\n", a);/* ^^ */或fflush(stdout);在printf()。之后使用。