如下程序段的运行结果,我算的是110,答案是109,为什么main(){int i=5,sum=100;do{sum=sum+(--1);}while(i>=0);printf("%d,",i);}我改了下,如果有错,请帮忙指出,哪里错了main(){int i=5,sum=100;do{sum=sum+(--i);}while(i>

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 04:41:05

如下程序段的运行结果,我算的是110,答案是109,为什么main(){int i=5,sum=100;do{sum=sum+(--1);}while(i>=0);printf("%d,",i);}我改了下,如果有错,请帮忙指出,哪里错了main(){int i=5,sum=100;do{sum=sum+(--i);}while(i>
如下程序段的运行结果,
我算的是110,答案是109,为什么
main()
{int i=5,sum=100;
do{sum=sum+(--1);}
while(i>=0);
printf("%d,",i);
}
我改了下,如果有错,请帮忙指出,哪里错了
main()
{int i=5,sum=100;
do{sum=sum+(--i);}
while(i>=0);
printf("%d",sum);
}

如下程序段的运行结果,我算的是110,答案是109,为什么main(){int i=5,sum=100;do{sum=sum+(--1);}while(i>=0);printf("%d,",i);}我改了下,如果有错,请帮忙指出,哪里错了main(){int i=5,sum=100;do{sum=sum+(--i);}while(i>
修改后的程序是正确的,
这里是这样运算的:i 初始值为5,第一次sum=sum+(--i); i 先做--运算得 i=4;
sum = 104;
第二次 i = 3 ; sum = 107;
第三次 i = 2; sum = 109;
第四次 i = 1; sum = 110;
第五次 i = 0; sum = 110;
第六次 i = -1; sum = 109;
这时候 i < 0 所以就结束循环,最后sum 值为 109;