问题
单项选择题
若有定义语句“double x,t,*px,*py;”执行了“px=&x;py=&y;”后,正确的输入语句是( )。
A.scanf("%f%f",x,y);
B.scanf("%f%f"&x,&y);
C.scan("%1f%1e",px,py);
D.scanf("%1f%1f"x,y);
答案
参考答案:D
解析: 要正确计算函数f=n!,由n!的数学定义可知n!=n*(n-1)*(n-2)*……*1。在选项A)中,由于f的初值为0,在for循环语句中,f依次乘以1,2,3,……,n。最后计算f=n!=0,所以选项A)不正确。在选项B)中,f的初值为1,在for循环语句中,f依次乘以1,2,3,……,(n-1)。最后计算得到f=(n-1)!,所以选项B)不正确。在选项C)中,f的初值为1,在for循环语句中,f依次乘以n,n+1,n+2,……,所以选项C)不正确。在选项D)中,f的初值为1,在for循环语句中,f依次乘以n,n-1,n-2,……,2。最后计算f=n!,所以选项D)正确。