23、下列程序的功能是将数组中的所有元素全部输出,对于程序中缺少的语句,下列语句填入其中不正确的是______。
int a[]={1,2,3,4};
int *pa=a;
for(int i=0;i<4;i++)
______;
A、cout<<*a++<<' '
B、cout<<*pa++<<' '
C、cout<<*(a+i)<<' '
D、cout<<*(pa+i)<<' '
本题考查的是指针和数组。
数组名实际上是一个常量指针,存放数组第一个元素的地址。既然是一个常量指针其值是不可改变的,所以不能有a++之类的语句。
故本题选A。
24、执行下列程序后,输出的结果是______。
int fact(int n)
{
if(n<=1)
return 1;
else
return n+fact(n-1);
}
int main()
{
cout<
return 0;
}
A、1
B、4
C、10
D、15
本题考查的是递归函数。
如果一个函数直接调用它自己该函数叫直接递归。fact(int n)函数,其中如果n>1调用了自身n-1次。
故本题选C。