标题:for循环出现问题
只看楼主
ah123
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-10-5
结帖率:0
已结贴  问题点数:20 回复次数:11 
for循环出现问题
#include "stdio.h"
void main()
{
   int i,p;
   for (i=1;i<=2;i++)
   p=1/(i+1);
   printf("s=%d\n",p);
}
为什么yunxing结果是0
收到的鲜花
  • 书生牛犊2016-10-06 14:53 送鲜花  20朵   附言:看你没分了。。。
搜索更多相关主题的帖子: include 
2016-10-05 15:52
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:3 
小数部分被截断了,运行结果当然是零。想求小数把p定义为浮点型,并且在运算时把1改为1.0
收到的鲜花
  • ah1232016-10-06 11:48 送鲜花  3朵  
2016-10-05 16:00
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
得分:3 
#include "stdio.h"
void main()
{
   int i,p;
   for (i=1;i<=2;i++)
   p=1/(i+1);    //p=1/(1+1)=1/2=0;  p=1/(2+1)=1/3=0;
   printf("s=%d\n",p);
}

int/int 整除。没有小数部分
收到的鲜花
  • ah1232016-10-06 11:49 送鲜花  3朵  

φ(゜▽゜*)♪
2016-10-05 16:13
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
得分:3 
回复 楼主 ah123
你写出来的代码中,有一个你不注意的地方p=1/(...).它可以有小数也可以没有小数。
你看到的结果,是机器给的结果,而不是你要的结果。因为要适应机器。所以才出现所谓的你的错。
收到的鲜花
  • ah1232016-10-06 11:50 送鲜花  3朵  

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2016-10-05 19:03
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
得分:0 
回复 4楼 do8do8do8
p是int类型。。根本不会保留小数。
收到的鲜花
  • ah1232016-10-06 11:46 送鲜花  3朵  

φ(゜▽゜*)♪
2016-10-05 19:12
chenchen224
Rank: 4
等 级:业余侠客
威 望:1
帖 子:61
专家分:237
注 册:2016-8-11
得分:3 
运行了你的程序,看到确实是你说的都是0的结果,把p改成float也是0;应该是上面的
人说的是机器的结果,不一样。
收到的鲜花
  • ah1232016-10-06 11:50 送鲜花  3朵  

我想做的,只是静静的把C学好,从此代码是爱人......
2016-10-05 20:49
ah123
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-10-5
得分:0 
回复 2楼 ehszt
感谢
2016-10-06 11:47
ah123
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-10-5
得分:0 
回复 2楼 ehszt
感谢
2016-10-06 11:48
pabalawolf
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2016-7-5
得分:0 
2楼的大侠说得对,1必须改为1.0,否侧取整后再赋值还是0.000
2016-10-09 11:23
feiyue323
Rank: 2
等 级:论坛游民
威 望:1
帖 子:35
专家分:18
注 册:2016-9-16
得分:3 
取1.0 结果还是0
不如把int 换成float
2016-10-09 15:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-469435-1-1.html




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

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