C语言问题1

#include <stdio.h>

 main()

 {

int i=1,n=0,s=0;

while(s<=10000)

{

s+=i;

 i=2*i;

n++;

}

printf("s=%d,n=%d\n",s-i/2,n-1);

 }

 为什么要s-i/2,这个程序的S应该没有多加


qq_風_21
浏览 1072回答 1
1回答

慕用4063026

有点不明白你想问什么,我的理解:s-i/2是没问题的,如果直接s输出为s==16383,因为,最后一次s==8191时,while(s<=10000){s+=i; i=2*i;n++;}这个还要再循环一次,所以最后输出要s-i/2和n-1
打开App,查看更多内容
随时随地看视频慕课网APP