目录: 标题| 题干| 答案| 搜索| 相关
问题

有以下程序#include <stdio.h>int fun(i


有以下程序#include <stdio.h>int fun(int (*s)[4],int n, int k){ int m, i; m=s[0][k]; for(i=l; 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},{2l,22,23,24},{31,32,33,34}}; printf("%d\n", fun(a,4,0));}程序的运行结果是A.4 B.34C.31 D.32

  • A4
  • B34
  • C31
  • D32
参考答案
参考解析:

本题考查的重点还是二维数组的操作。题目将二维数组与函数相结合,考查了函数对二维数组的调用。程序主体分为两个部分:主函数main和函数fun。main函数结构较简单,功能很明确,首先初始化了一个二维数组,随后将fun(a,4,0)作为printf函数的实参输出。下面分析一下fun函数的作用,fun函数包括三个形参,其中一个形参为用指针定义的二维数组,另外两个为整型常量n和k。在fun函数中,先定义了一个整型变量m=s[0][k],表示m为s中第1行第k+1列的数据。下面的for循环是题目的关键,该for循环的意义是令m为数组s中k+1列从第1行到第n行的数据中最大的数值。题目中m的初始值为a[0][0],即m=1,从第1行到第4行第1列上的数值分别为1,11,21,31。最大的数为31,令m=31,返回m,并将m作为结果输出。

分类:其他
相关推荐

1、有以下程序#include <stdio.h>main() {

有以下程序#include <stdio.h>main() { char b=2; printf("%dn", b=b<<3);}程序的运行结果是A.4 B.8 C.16 D.2000A4 B8 C16 D2000

2、有以下程序 #include <stdio.h> main()

有以下程序#include <stdio.h>main(){char c1=&rsquo;1&rsquo;,c2=&rsquo;2&rsquo;;c1=getchar();c2=getchar();putchar(c1);putchar(c2);}当运行时输入:a<回...

3、有以下程序:include<stdio.h>include<

有以下程序:include<stdio.h>include<strin9.h>main( ){printf{"%dn",strlen("%dn",strlen("ATSn012|"));}程序运行后的输出结果是( )。A3B8C4D9

4、有以下程序#include "stdio.h"void fun(int *a

有以下程序#include "stdio.h"void fun(int *a,int *b){ int c=20,d=20; *a=c/3; b=d/5;}main(){ int a=3,b=5; fun(&a,&b); printf("%d,%d\n",a,b);}程序的运行结果是A.6,5 B.5,6C.20,25 D.3,5A6,5 B5,6C20,25 D3,5

5、有以下程序: #include<stdio.h> int fun

有以下程序: #include<stdio.h> int fun( ) {static int x=1; X*=2;return X; main( ) int i,s=1; for(i=1;i<=2;i++)s=fun( ); printf{¨%d ",s); } 程序运行后的输出结果是( )。A0B1C4D8

6、有以下程序#include <stdio.h>main(){ u

有以下程序#include <stdio.h>main(){ unsigned char a; a=4^6; printf("%d,n", a);}程序的运行结果是A.4, B.2,C.2 D.4A4, B2,C2 D4