可以在第九行看到 3.14159*r*r,输入数据后得出的结果不应该是有小数的吗?可怎么在我这得出的是整数的?

2016-06-26 22:00:15 +08:00
 creater17

#include <stdio.h>

int radius, area;

int main (void) { printf( "Enter radius ( i.e. 10): " ); scanf( "%d", &radius ); area = (int) (3.14159 * radius * radius ); printf( "\n\nArea = %d\n", area ); system( "pause" ); return 0; }

2575 次点击
所在节点    程序员
7 条回复
bdbai
2016-06-26 22:03:07 +08:00
快醒醒! int !
creater17
2016-06-26 22:07:16 +08:00
额...新手,还是不懂...
wssgcg1213
2016-06-26 22:15:54 +08:00
(int) 强制类型转换
watermeter
2016-06-26 23:02:52 +08:00
数据类型是整型的,计算过程里还(int)
bdbai
2016-06-26 23:20:57 +08:00
@creater17 给你几个建议吧。
1 、 V2EX 的帖子内容支持 Markdown 语法, C 语言代码块可以用 ```c 和 ``` 来包裹,这样格式不会走样;
2 、回复别人前按一下楼层右上角的箭头,不然对方收不到提醒;
3 、善用 IDE 和调试器;
4 、善用搜索。关键词: int , printf ,类型转换
creater17
2016-06-26 23:26:04 +08:00
@bdbai 感谢!
yhylord
2016-06-27 01:30:56 +08:00
这种代码是抄书抄错了吗……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/288456

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX