V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
creater17
V2EX  ›  程序员

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

  •  
  •   creater17 · 2016-06-26 22:00:15 +08:00 · 2441 次点击
    这是一个创建于 2867 天前的主题,其中的信息可能已经有所发展或是发生改变。

    #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; }

    bdbai
        1
    bdbai  
       2016-06-26 22:03:07 +08:00 via Android
    快醒醒! int !
    creater17
        2
    creater17  
    OP
       2016-06-26 22:07:16 +08:00
    额...新手,还是不懂...
    wssgcg1213
        3
    wssgcg1213  
       2016-06-26 22:15:54 +08:00
    (int) 强制类型转换
    watermeter
        4
    watermeter  
       2016-06-26 23:02:52 +08:00 via Android
    数据类型是整型的,计算过程里还(int)
    bdbai
        5
    bdbai  
       2016-06-26 23:20:57 +08:00 via Android
    @creater17 给你几个建议吧。
    1 、 V2EX 的帖子内容支持 Markdown 语法, C 语言代码块可以用 ```c 和 ``` 来包裹,这样格式不会走样;
    2 、回复别人前按一下楼层右上角的箭头,不然对方收不到提醒;
    3 、善用 IDE 和调试器;
    4 、善用搜索。关键词: int , printf ,类型转换
    creater17
        6
    creater17  
    OP
       2016-06-26 23:26:04 +08:00
    @bdbai 感谢!
    yhylord
        7
    yhylord  
       2016-06-27 01:30:56 +08:00
    这种代码是抄书抄错了吗……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   775 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:16 · PVG 06:16 · LAX 15:16 · JFK 18:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.