| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 576 人关注过本帖
标题:有个小程序在Turbo C上运行没问题,在Visual C上有'2 warning(s)'
只看楼主 加入收藏
Oscar_0049
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-6-29
收藏
 问题点数:0 回复次数:3 
有个小程序在Turbo C上运行没问题,在Visual C上有'2 warning(s)'

很简单的一个程序,求s=1+x+x2/2!+x3/3!+…+xn/n! 当n=10,x=0.3时的值.
#include <stdio.h>
#include <conio.h>
#include <math.h>
double fun(double x,int n)
{
double s=1;
int i,t=1.0;
for(i=1.0;i<=n;i++)
{
t=t*i;
s=s+pow(x,i)/t;
}
return s;
}

void main()
{
printf("%lf\n",fun(0.3,10));
}

在Turbo C上完全正确,为什么在VC运行后提示可能会丢失数据呢?应该怎么改?谢谢各位!
E:\C\zt08.c(7) : warning C4244: 'initializing' : conversion from 'const double ' to 'int ', possible loss of data
E:\C\zt08.c(8) : warning C4244: '=' : conversion from 'const double ' to 'int ', possible loss of data

搜索更多相关主题的帖子: warning Turbo Visual 运行 
2007-07-10 22:53
love154139
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2007-5-6
收藏
得分:0 

#include <stdio.h>
#include <conio.h>
#include <math.h>
double fun(double x,int n)
{
double s=1;
int i,t=1.0;
for(i=1.0;i<=n;i++) //定义时i,t都是整型的,最好不要用1.0这样的值.换成1最好

{
t=t*i;
s=s+pow(x,i)/t;
}
return s;
}

void main()
{
printf("%lf\n",fun(0.3,10));
}


2007-07-10 23:02
Oscar_0049
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-6-29
收藏
得分:0 
现在好了
谢谢楼上兄台哈

如果不能改变环境,那就要适应环境!
2007-07-10 23:11
windflush
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:886
专家分:0
注 册:2007-7-1
收藏
得分:0 
不要把两个浮点数来进行相等比较.

2007-07-10 23:49
快速回复:有个小程序在Turbo C上运行没问题,在Visual C上有'2 warning(s)'
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029828 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved