有如下程序 #include<stdio.h> main() { int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14

题目
有如下程序 include main() { int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14

有如下程序 #include<stdio.h> main() { int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16)); int i,s=0; for(i=0;i<4;i++)s+=a[i][1]; printf("%d\n",s); }程序运行后的输出结果是______。

A.11

B.32

C.13

D.20

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

建立以下二维数组: 1 2 3 4 5 6 7 8 9 10 11 12 可以采用的语句有()。

A.int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

B.int a[][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

C.int a[3][4]={(1,2,3,4),(5,6,7,8),(9,10,11,12)};

D.int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};


new int[3][]

第2题:

17、设有下面语句: void f4(int **p); int a[4] = {1,2,3,4}; int b[3][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}}; int *q[3] = {b[0],b[1],b[2]}; 下面哪个调用是合法的?

A.f4(a);

B.f4(&a);

C.f4(b);

D.f4(q);


f4(q);

第3题:

13、假设有语句如下: void f3(int (*p)[4]); int a[4] = {1,2,3,4}; int b[3][4] = { {1,2,3,4}, {5,6,7,8}, {9,10,11,12}};下面哪一个调用是非法的?

A.f3(&a);

B.f3(b[1]);

C.f3(&b[1]);

D.f3(b);


f3(b[1]);

第4题:

若有以下程序includeint a[]={2,4,6,8};main(){int i; int *p=a; for(i=0;i<4;i++)a[i

若有以下程序 #include <stdio.h> int a[]={2,4,6,8}; main() { int i; int *p=a; for(i=0;i<4;i++)a[i]=*p; printf("%d\n",a[2]);} 上面程序输出结果是

A.6

B.8

C.4

D.2


正确答案:D
解析:在C语言中,数组元素下标是从0开始的;指针变量p指向数组的首地址。for循环语句中,指针变量p始终指向数组的首地址,因而执行循环赋值语句后数组各元素的值均变为2。

第5题:

有以下程序 include int fun(int (*s)[4],int n,int k) {int m,i;

有以下程序 #include <stdio.h> int fun(int (*s)[4],int n,int k) {int m,i; m=s[0][kl; for(i=1;i<n;i++) if(s[i][k]>m) m=s[i][k]; return m; } main() { int a[4][4]={{1,2,3,4},{11,12,13,14}, {21,22,23,24}, {31,32,33,34}}; printf("%d\n",fun(a,4,0)); } 程序的运行结果是______。

A.4

B.34

C.31

D.32


正确答案:C
解析:在主函数中,定义并初始化了4行4列的二维数组a,并通过调用fun函数,将fun函数中指向一维数组的指针变量s指向了二维数组a的首地址,使得指针变量s与数组a共用同一存储单元。在fun函数中,通过for循环,求得了数组a第0列中最大的值,并赋给m返回主函数。由于数组a第0列的值分别为1、11、21、31,故其最大值是31。

第6题:

有以下程序 include define N 4 void fun(int a[][N],int b[]) { int

有以下程序 #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
解析:在主函数中,定义并初始化了4行4列的二维数组x。对于二维数组元素的赋值,可以只对部分元素赋初值,未赋初值的元素自动取0。x数组元素赋初值后各元素为:

fun函数的作用是将二维数组a中主对角线元素赋给数组b,由于数组a与数组x共用同一存储单元,也即将数组x中主对角线元素赋给了数组b。又因为数组b与数组y共用同一存储单元,所以主函数中通过语句“printf("%d,"y[i]);”输出的即为数组b中的值,所以程序运行结果为“1,0,7,0,”。

第7题:

请选出以下程序的输出结果includemain(){ int a[]={1,2,3,4},i;int x=0;for(i=0;i<4;i

请选出以下程序的输出结果 #include<stdio.h> main() { int a[]={1,2,3,4},i; int x=0; for(i=0;i<4;i++) { sub(a,x);printf("%d",x);} printf("\n");} sub(s,y) int*s,y; { static int t=3; y=s[t];t--; }

A.1 2 3 4

B.4 3 2 1

C.0

D.4444


正确答案:C
解析:若指针s指向数组a,则s[t]可以引用数组a中下标为t的元素。注意:通过数组的首地址引用数组元素。

第8题:

有以下程序:include main( ){int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13;1

有以下程序: #include <stdio.h> main( ) { int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13;14,15,16}},i,j; for(i =0;i<4;i ++ ) { for(j=0;j<=i;j++)printf("%4c","); for(j=______;j<4;j ++ )printf( "%4d" ,hum[i] [j] ); printf(" \n" ); } } 若要按以下形式输出数组右上半三角; 1 2 3 4 6 7 8 11 12 16则在程序下划线处应填入的是( )。

A.i-1

B.i

C.i+1

D.4-i


正确答案:B
解析:本程序为二重循环,外循环控制输出数据的行数,内循环控制输出数据的列数。本题需要输出4行4列,外层循环语句for(i=0;i4;i++)控制输出4行,内层的第一条for循环控制每行输出的空格数,第二条for循环用于控制每行的数字输出,由于每一行的数字个数比前一行少1个,所以内层的第二条for循环每次循环的次数需要递减1,那么j的初始值应该递增,因为第一行输出的是4个数,所以空格中应填i。

第9题:

有下列程序: include main() {int a[]={1,2,3,4},y,*p=&a[3]; --

有下列程序: #include <stdio.h> main() {int a[]={1,2,3,4},y,*p=&a[3]; --p; y=*p; printf("y=%d\n",y); } 程序的运行结果是( )。

A.y=0

B.y=1

C.y=2

D.y=3


正确答案:D
解析:首先定义了一个一维数组和指针,接着将数组第四个元素的地址赋予*p,进行--p使指针p指向了数组的第三个元素,通过 y=*p:将数组第三个元素的值3赋予y,所以选项D)正确。