请教一个问题
c语言吧
全部回复
仅看楼主
level 5
510420060 楼主
#include <stdio.h>
main()
{ int k,j,m;
for(k=5;k>=1;k--)
{m=0;
for(j=k;j<=5;j++)
m=m+k*j;
}
printf("%d\n",m);
}
答案是15,但是我认为:首先k=5,j=5,第一次循环中m=25,然后第二次中第一次k=4,j=4,m=16;第二次中的第二次k=4,j=5,m=16+20=36……如此算来,最后一定不会是15啊
2012年02月26日 10点02分 1
level 6
不要忘了m=0;
2012年02月26日 10点02分 2
level 4
你每次都把循环都会把m的值变为0,所以只有最后一次有效。
k=1,m=o
j=1,m=0+1*1
j=2,m=1+2*1
j=3,m=6
j=4,m=10
j=5,m=15
2012年02月26日 11点02分 3
level 6
楼主忽视了每次循环m归零
2012年02月26日 13点02分 4
1