|
![]() | 作者: 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号