问题
单项选择题
有下列程序:
#include<stdio.h>
#define N 4
void fun(int a[][N],int b[])
int i;
for(i=0;i<N;i++)b[i]=a[i][i];
main()
int x[][N]=1,2,3),4),5,6,7,8,9,10)),y[N],i;
fun(x,y);
for(i=0;i<n;i++)printf("%d",y[i]);
printf("\n");
程序的运行结果是( )。
A) 1,2,3,4
B) 1,0,7,0,
C) 1,4,5,9
D) 3,4,8,10,
答案
参考答案:B
解析: 本题考查数组的初始化,在对二维数组元素赋初值时,如果只对部分元素赋初值,那么赋初值的元素自动取0。fun函数是将二维数组a中主对角线上的元素赋给数组b,所以y[4]={1,0,7,0}。