int j=1; for( int i=5; i>0; i-=2 ) j*=i;
for循环运行两次,
第一次执行是 1*=5;j的值变成5。
第二次,i-=2,就相当于 i = 5-2= 3; j*=i,j= j*i = 5*3=15
此程序共执行三次循环体,因为是For循环,所以先执行表达式1(int i=5),然后执行表达式2(i>0),结果为true,执行循环体,此题也就是j*=i,第一次的结果为5(j*=i相当于j=j*i=1×5=5),然后执行表达式3(i-=2)转向表达式2(i>0),同上,结果为true,执行循环体,此时j*=i=5×3=15,然后在执行表达式3转向表达式2,结果还是true,i变成了1,执行循环体j*=i=15×1=15,在执行3转向2,此时表达式2结果为false,结束。最终答案就是15。