itgle.com

有如下程序段#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);} 则程序段的输出结

题目

有如下程序段#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


相似考题
更多“有如下程序段#include "stdio.h"void fun(int *a,int *b,int *c,int *d,int *e){ int i,j,k,m; ”相关问题
  • 第1题:

    设有如下程序includemain(){int **k, *j,i=100;j=&i; k=&j;printf("%d\n"”,**

    设有如下程序 #include<stdio.h> main() { int **k, *j,i=100; j=&i; k=&j; printf("%d\n"”,**k); } 上述程序的输出结果是______。

    A.运行错误

    B.100

    C.i的地址

    D.j的地址


    正确答案:B
    解析:j=&i,j的值就是i的地址,*j=100,将j的地址赋给k,这时*k=j,那么,**k=*j,而*j=100,所以**k=100,最后的打印结果应当为100。

  • 第2题:

    以下程序的输出结果是#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。

  • 第3题:

    现有如下程序段

    #include "stdio.h"

    int *fun(int *a,int *b)

    {int c;

    c=*a%*b;

    return &c;}

    main()

    {int a=5,b=19,*c;

    c=fun(&a,&b);

    printf("%d\n",++*c);}

    则程序段执行后的结果为

    A.8

    B.7

    C.6

    D.5


    正确答案:C

  • 第4题:

    有以下程序includemain(){int*p,j; p=NULL p=fun(); for(j=0;j<4;j+){printf("%d",*p)

    有以下程序 #include<stdio.h> main() { int *p,j; p=NULL p=fun(); for(j=0;j<4;j+){printf("%d",*p);p++;} } int*fun() { int a[4],k; for(k=0;k<4;k++)a[k]=k; return(A) ; } 程序运行后的输出结果是( )

    A.程序有错不能运行

    B.输出4个NULL

    C.输出0 1 2 3

    D.输出1 1 1 1


    正确答案:A

  • 第5题:

    下列程序的运行结果是()。includevoid fun(int *a, int *b){int *k; k=a; a=b; b=k;}ma

    下列程序的运行结果是( )。 #include <stdio.h> void fun(int *a, int *b) { int *k; k=a; a=b; b=k; } main() { int a=3,b=6, *x=&a, *y=&b; fun(x,y); printf("%d%d",a,b);

    A.6 3

    B.3 6

    C.编译出错

    D.0 0


    正确答案:B
    解析:程序看上去是要实现交换两个指针的值,但是C语言中实参变量和形参变量之间的数据传递是单向的“值传递”,指针变量做函数参数也要遵循这一规则。调用函数不能企图通过改变形参指针的值而使实参指针的值也改变。所以本题的输出结果是36。