C语言:编写代码时,为什么循环体里的sum+=-1/i是错误的,而1.0/i是正确的?

提问:C语言:编写代码时,为什么循环体里的sum+=-1/i是错误的,而1.0/i是正确的?

网友回答:

一个C语言基本的运算规则 

int与int运算时,结果只能是int 的

因为你的i是int的

而1也是int

所以 1/i 结果只能是int 

1/2就是0

1/3也是0

而1.0是浮点,而运算规则,当浮点与int运算时,结果为浮点

所以1.0/i可以得到正确的结果


相关推荐

用C语言编写:某一次考试之后,需要找出其中最高分和最低分,为此编制一个程序

用C语言编写:某一次考试之后,需要找出其中最高分和最低分,为此编制一个程序

怎么用C语言编写一个程序使用二重循环编写一个程序,求xy+yx=154的值x,y是1-9之间不同数字

怎么用C语言编写一个程序使用二重循环编写一个程序,求xy+yx=154的值x,y是1-9之间不同数字

复制一条C语言编写好的程序(能运行的),在新建中粘贴为啥运行不出来

复制一条C语言编写好的程序(能运行的),在新建中粘贴为啥运行不出来

请问用C语言怎么编写,我就想用(y/n)判断是否会员。谁能帮解一下,万分感谢!

请问用C语言怎么编写,我就想用(y/n)判断是否会员。谁能帮解一下,万分感谢!

用c语言中scanf编写一个学生的成绩总分和平均分

用c语言中scanf编写一个学生的成绩总分和平均分

上机实验:请编写C语言程序采用递归法计算任意两个正整数的最大公约数

上机实验:请编写C语言程序采用递归法计算任意两个正整数的最大公约数

C语言C++谜题。请问一下读书高手C/C++编程的中文分号与英文分号有区别吗?编译时会出错吗?

C语言C++谜题。请问一下读书高手C/C++编程的中文分号与英文分号有区别吗?编译时会出错吗?

c语言编写程序,读入正整数n,和n个正整数,递增排序后保存在文本文件result.txt里

c语言编写程序,读入正整数n,和n个正整数,递增排序后保存在文本文件result.txt里

C语言代码SendOnePix(&ptr[(3*k)])怎么理解

C语言代码SendOnePix(&ptr[(3*k)])怎么理解

C语言中,指针函数和函数指针有什么区别?

C语言中,指针函数和函数指针有什么区别?

c语言如何去一个有序数组重复的数字

c语言如何去一个有序数组重复的数字

C语言中“?”的用法

C语言中“?”的用法

c语言里共用体的最后一次成员赋值问题求解

c语言里共用体的最后一次成员赋值问题求解

C语言中x=3,则printf("%d",x++)的输出结果是什么

C语言中x=3,则printf("%d",x++)的输出结果是什么

C语言 vc6

C语言 vc6

盒子游戏,游戏玩家专属个性阅读社区


©CopyRight 2010- 2020 BOXUU.COM Inc All Rights Reserved

鄂公网安备 35020302000061号- 鄂ICP备2020015574号-1