各位高手麻烦帮忙看看这个程序为何出错,,谢谢啦!

#include<stdio.h>
#include<stdlib.h>
int main()
{float k,s3=0,s;
int s1=0,s2=0;
for(k=1;k<=100;k++)
s1=s1+k;
for(k=1;k<=50;k++)
s2=s2+k*k;
for(k=1;k<=10;k++)
s3=s3+1/k;
s=s1+s2+s3;
printf("%f",s);
system("pause");
return 0;}
为什么只有把第五行中得int改为float才能运行呢?
请问C语言中把实型赋给整形就不能运行吗?溢出也不能运行吗?谢谢! 我是在dev c++环境中运行的,编译后出现
7 [Warning] converting to `int' from `float'
9 [Warning] converting to `int' from `float' 但是不能运行

MOM.EXE-应用程序错误:应用程序正常初始化(0xc0000135)失败解决方法
刚刚重装了系统,显卡驱动是下载的最新的ATI催化剂7.5。却是在一开机就出现“MOM.EXE-应用程序出错:应用程序正常初始化(0xc0000135)”这样的情况,在网上搜了一下,解决方法如下:
A.解决方法:
1、重装显卡驱动。或者到ATI官网去下载最新的驱动,
2、下载安装Microsoft .NET Framework 2.0。微软官方下载:【点此】
B.分析一下原因:
MOM.EXE-应用程序出错 这个问题,是因为没有安装Microsoft .NET Framework造成的。ATI的最新驱动没有不再附带那个程序,需要另外安装。 或者先安装旧的ATI Catalyst Control Center,在它安装完之后再安装新的驱动。
C.补充一点:
Microsoft .NET Framework 2.0版是Microsoft .NET Framework的最新更新,其中包括了您运行使.NET Framework开发的应用程序时所需的所有内容。
Microsoft .NET Framework 2.0 版提供了改进的缓存、使用 ClickOnce 改进了应用程序部署和更新、通过 ASP.NET 2.0 控件和服务对最广泛的浏览器和设备提供更强大的支持,从而提高了可扩展性和性能。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-07
在TURBO C 中 int 的最大值为32767
s2超过这个范围 溢出了本回答被网友采纳
第2个回答  2010-11-07
程序不能说是错的。是警告。
第七行和第九行中 s1=s1+k; s2=s2+k*k;
k是实型变量 s1 s2 是整型变量;所以s1+k和s2+k*k都是实型
实型(s1+k)赋值给 整型(s1)时可能会造成误差。
这要看运行环境了 。 我在c/c++程序设计学习与实验系统里就完全可以运行。只是有警告;
conversion from ‘float’to‘int’,possible loss of date.
相似回答