问题 单项选择题

下列程序的运行结果是( )。
#include<stdio.h>
void sub(int*s,int*y)
static int m=4;
*y=s[0];
m++;

void main()
int a[]=1,2,3,4,5,k;
int x;
printf("\n");
for(k=0;k<=4;k++)
sub(a,&x);
printf("%d,",x);

A.1,1,1,1,1,

B.1,2,3,4,5,

C.0,0,0,0,0,

D.4,4,4,4,4,

答案

参考答案:A

解析: 本题中sub(int*s,int*y)函数的参数是两个指针型变量,在函数体内将数组s的第一个元素赋给y。主程序内,首先定义了一维数组并赋初值,然后通过for循环,5次调用sub(a,&x)函数,每一次调用都是将数组a的第一个元素1赋给x,并输出。

填空题
单项选择题