c,先不管float或int,我的结果为什么会错???

P1035 [NOIP2002 普及组] 级数求和

Alvin @ 2017-05-02 15:56:22

#include<stdio.h>
int main(){
    int i,k,sum=1;
    scanf("%d",&k);
    for( int i=2;i<100000;++i){
        sum+=1/i;
       if(sum>k)
           break;
        }
    printf("%d",i);
    return 0;
}

by Lolierl @ 2017-05-02 16:03:32

@Alvin

i在外面定义了,循环里就不要定义了


by Alvin @ 2017-05-02 23:05:27

主要原因不是这个,你可以在编译器上编译一下。。


by Alvin @ 2017-05-02 23:08:08

@KingLolierl


by Lolierl @ 2017-05-03 06:08:43

@Alvin

这不会编译错误,只是print的是外面的i,而for循环动的是里面的i


by Alvin @ 2017-05-03 14:58:47

@KingLolierl 编译没有错啊可是我的结果怎么不对??


by Alvin @ 2017-05-03 15:16:08

@KingLolierl 谢谢我printf多了一个取地址符


by yawon @ 2017-06-16 15:18:58

你一直在加零


|