问题详情

若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是A.for(i=1,p=1;i<=5;i++) p*=i; B.i=1;p=1;while(i<=5){p*=i; i++;}C.for(i=1;i<=5;i++){ p=1; p*=i;} D.i=1;p=1;do{p*=i; i++; }while(i<=5);


A、for(i=1,p=1;i&lt;=5;i++) p*=i;

B、i=1;p=1;while(i&lt;=5){p*=i; i++;}

C、for(i=1;i&lt;=5;i++){ p=1; p*=i;}

D、i=1;p=1;do{p*=i; i++; }while(i&lt;=5);

时间:2022-01-10 18:55 关键词:

答案解析

C
选项C中,当i=1时,执行{ p=1; p*=i;},此时得到p的值为1;接下来判断i=2,执行{ p=1; p*=i;},此时p重新赋值为1,然后执行p*=i,得到p=2;当i=3时,此时p又重新赋值为1,把刚才所求的积覆盖了,在以后的每次循环中,p都会重新赋值1。所以,不能实现求和1*2*3*4*5(即5!)的功能。