论坛: 编程破解 标题: 大家好,进来帮我分析一下好吗?--小邹 复制本贴地址    
作者: zml2236 [zml2236]    论坛用户   登录
大家好哦:
    小菜我最近在学习C++.其中遇到了个疑问,想请这里的大虾帮忙教教,问提是这样的:
    #include<iostream>
    #include<cmath>
    using namespace std;
 
    main()
    {
      cout<<sin(1)+sin(1/2)+sin(1/3)+sin(1/4)+(1/5);
          <<"\n";
      return 0;
    }
就是这样的一个小程序,书上说他是错的是,说这个程序除了第一个sin(1)算出来是正确的,后面的算出来都是0,这肯定的错的,但书上也没有说原因,只是说和类型有关,这我就不能理解了,所以来到这里请教高手。好了,就这个问提,希望大家都来帮我分析分析。
-----------------------------------------------------------------
--小邹
-----------------------------------------------------------------

地主 发表时间: 11/26 10:35

回复: 286 [unique]   版主   登录
cout<<sin(1)+sin(1/2)+sin(1/3)+sin(1/4)+(1/5);  //少了一个sin
          <<"\n";        //不能这样写,改为 cout<<"\n";

1/2默认类型是整型,所以结果是1/2=0,所以sin(1/2)=sin(0)=0;
也就是说: sin(1/2)和sin(0.5)是不一样的.


:)


     

B1层 发表时间: 11/26 11:36

回复: zml2236 [zml2236]   论坛用户   登录
谢谢

B2层 发表时间: 11/26 14:10

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号