请将以下程序中的函数声明语补充完整。 include int【】 main(){int x,y,(*p)(); sccanf("请将以下程序中的函数声明语补充完整。include<stdio.h>int【 】main(){ int x,y,(*p)();sccanf("%d%d",&x,&y);p=max;printf(%d\n",(*p)(x,y));}int max(int a,int b){return(a>b?a:b);}

题目
请将以下程序中的函数声明语补充完整。 include int【】 main(){int x,y,(*p)(); sccanf("

请将以下程序中的函数声明语补充完整。

include<stdio.h>

int【 】

main()

{ int x,y,(*p)();

sccanf("%d%d",&x,&y);

p=max;

printf(%d\n",(*p)(x,y));

}

int max(int a,int b)

{return(a>b?a:b);}


相似考题
更多“请将以下程序中的函数声明语补充完整。 include<stdio.h> int【】 main(){int x,y,(*p)(); sccanf(" ”相关问题
  • 第1题:

    有以下程序 include void fun(int*a,int*B) { int*c; c=a;a=b;b=c; } main() {int x=3

    有以下程序 #include<stdio.h> void fun(int*a,int*B) { int*c; c=a;a=b;b=c; } main() { int x=3, y=5,*p=&x, *q=&y; fun(p,q); printf("%d,%d,",*p,*q); fun(&x,&y); printf(" %d,%d\n",*p,*q); } 程序运行后的输出结果是______。

    A.3,5,5,3

    B.3,5,3,5

    C.5,3,3,5

    D.5,3,5,3


    正确答案:B
    解析:本题主要考查的是函数的实参和形参之间的传递关系,C语言中实参变量和形参变量之间的数据传递是单向的“值传递”方式。指针变量作函数参数也要遵循这一规则。调用函数不可能改变实参指针变量的值。所以x和y的地址并没有改变,即p和q也没有改变,因此,选项B是正确的。

  • 第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题:

    以下程序段中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是

    A.main() { int*p; fun(p); … } int fun(int*p) {int s; p=&s; }

    B.main { int *p; fun(&p); … } int fun(int**p) {int s; *p=&s; }

    C.#include <stdlib.h> main() { int *p; fun(&p); … } int fun(int**p) {*p=(int*)malloc(2); }

    D.#include <stdlib.h> main() { int *p; fun(p); … } int fun(int *p) {p=(int*)malloc(sizeof(int));}


    正确答案:C

  • 第4题:

    以下程序的输出结果是include "stdio.h"int *f(int *x,int *y){ if(*x<*y) return x; else return y;}main(){ int a=7,b=8, *p,*q,*r ; p=&a; q=&b; r= f(p,q); printf("%d,%d,%d\n",*p,*q,*r);}


    正确答案:7,8,7。
    在本题中,程序首先定义了一个函数f,其结构是int *f(int *x,int *y),这个结构说明函数f的返回类型是指针型,函数f的两个变量分别是指针变量x和y,从程序中我们很容易看出,这个函数的作用是返回形参中值较小的指针值(即地址值),返回的是指针型的结果。
    在主函数中,首先定义了两个整型变量,分别赋初值7和8,并定义了三个指针型变量,接着将指针变量p和q分别指向变量a和b,然后调用函数f,参数分别为指针变量p和q,很显然,p所指向的值小于q所指向的值,那么返回指针变量p的地址值给指针变量r,由于指针变量P的地址值是变量a存储单元的地址值,也就是说,指针变量r指向变量a,因此,最后程序的输出结果是7,8,7。

  • 第5题:

    以下程序的输出结果是()。includedefine F(x)2.84+xdefine w(y)printf("%d",(int)(y)

    以下程序的输出结果是( )。 #include<stdio.h> #define F(x)2.84+x #define w(y)printf("%d",(int)(y)) #define P(y)w(y) main() {int x=2; P(F(5)*x); }

    A.12

    B.13

    C.14

    D.16


    正确答案:A