niusouti.com

以下程序的运行结果是______。 include fun(int a,int b) { int m=0,i=2; i+=m+1; m以下程序的运行结果是______。include<iostrearn.b>fun(int a,int b){int m=0,i=2;i+=m+1;m=i+a+b;return m;}void main(){int k=4,m=1,p;p=fun(k,m);cout<<p<<end1;}

题目
以下程序的运行结果是______。 include fun(int a,int b) { int m=0,i=2; i+=m+1; m

以下程序的运行结果是______。

include<iostrearn.b>

fun(int a,int b)

{

int m=0,i=2;

i+=m+1;

m=i+a+b;

return m;

}

void main()

{int k=4,m=1,p;

p=fun(k,m);cout<<p<<end1;

}


相似考题
更多“以下程序的运行结果是______。 include<iostrearn.b> fun(int a,int b) { int m=0,i=2; i+=m+1; m ”相关问题
  • 第1题:

    有以下程序 include include int fun(int n) {int *

    有以下程序 #include <stdio.h> #include <stdlib.h> int fun(int n) {int *p; p=(int*)malloc(sizeof(int)); *p=n; return *p; } { int a; a=fun(10); printf("%d\n",a+fun(10)); } 程序的运行结果是______。

    A.0

    B.10

    C.20

    D.出错


    正确答案:C
    解析:malloc(sizeof(int))的作用是开辟一个长度为sizeof(int)存储空间,并通过强制类型转换(int*)将此存储空间的地址赋给了—个整型的指针变量p。然后执行语句“*p=n”,使得*p的值为10,并通过返回此值,在主函数中输出a+10的值,即输出20。

  • 第2题:

    有以下程序: #define N 20 fun(int a[],int,n,int m) { int,i,j; for(i=m;i>=n;i-)a[i+1]=a[i] } main() { int i, a[N]={1,2,3,4,5,6,7,8,9,10}; fun(a,2,9); for(i=0;i<5;i++)printf("%d",a[i]); } 程序运行后的输出结果是 ______。

    A.10234

    B.12344

    C.12334

    D.12234


    正确答案:C
    解析:本题函数fun的作用是将指定的数组元素(从下标n到下标m)向后移一位。由函数调用“fun(a,2,9);”可知,函数fun用于将a[2]到a[9]的各元素依次向后移一位,移完后,a数组中各元素的值分别为1,2,3,4,5,6,7,8,9,10,故输出的前5个数组元素为12334。

  • 第3题:

    以下程序的输出结果是#include "stdio.h"int *fun(int *a,int *b){ int m; m=*a; m+=*b-3; return(&m);}main(){ int x=21,y=35,*a=&x,*b=&y; int *k; k=fun(a,b); printf("%d\n",*k);}


    正确答案:53
    本题考查指针函数的使用。题目给出的程序包括两个部分,一个为指针函数fun,一个为主函数main。主函数main部分给出两个整型变量x和y,并给出相应的赋值。main函数的执行结果为输出*k的值,而*k的值即*fun的值。fun函数包括两个整型指针形参*a和*b。通过对*a、*b进行操作,得到结果m,并将m值返回,整个程序的实际输出即为m的值。初始时,m=*a=21。随后令m=m+*b-3,得m=53。整个程序的输出结果即为53。

  • 第4题:

    有以下程序 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。

  • 第5题:

    有如下程序段#include "stdio.h"void fun(int *a,int *b,int *c,int *d,int *e){ int i,j,k,m; for(i=0;i< *a;i++) for(j=0;j< *b;j++)  for(k=0;k<*c;k++)  for(m=0;m< *d;m++)  ++*e;}main(){ int a=10,b=10,c=10,d=10,e=0; fun(&a,&b,&c,&d,&e); printf("%d\n",e);} 则程序段的输出结果是A.10000 B.1000 C.100 D.0


    正确答案:A
    在本题中,程序首先定义了一个无返回值的函数fun,该函数带有五个整型的指针形参变量,然后通过一个四层循环来操作++*e;语句,由于*与++运算符的优先级一样,它们都是自右至左结合的操作,因此,++*e等价于++(*e),这个操作可描述为:先用地址取值,然后对其进行自加,由于是通过传址传值法的,因此,还需要将相加后的结果传递到实参中。
    在主函数中,定义五个整型变量并分别赋初值,然后调用fun函数,传递的参数是刚定义的五个整型变量的地址,采用的是传址传值法,能为实参带回一个结果值。从fun函数中我们不难看出,当变量a,b,c,d分别为10时,循环总共执行10000次,即自加进行了10000次,而且每次自加后都改变了实参的结果。因此,循环结束后,变量e的值为10000。本题的正确答案是A。