有以下程序: float f1(float n) { return n*n; } float f2(float n) { return 2*n; } main() {float(*p1)(float),(*p2)(float),(*t)(float),y1,y2; p1:f1; p2=f2; y1=p2(p1(2.0)); t=p1; p1=p2; p2=t; y2=p2(p1(2.0)); printf("%3.0f,%3.0f\n",y1,y2); } 程序运行后的输出结果是 ______。A.8,

题目

有以下程序: float f1(float n) { return n*n; } float f2(float n) { return 2*n; } main() {float(*p1)(float),(*p2)(float),(*t)(float),y1,y2; p1:f1; p2=f2; y1=p2(p1(2.0)); t=p1; p1=p2; p2=t; y2=p2(p1(2.0)); printf("%3.0f,%3.0f\n",y1,y2); } 程序运行后的输出结果是 ______。

A.8, 16

B.8, 8

C.16, 16

D.4, 8


相似考题
更多“有以下程序: float f1(float n) { return n*n; } float f2(float n) { return ”相关问题
  • 第1题:

    有以下程序includevoid fun(float* p1,int n1,float,*p2,int n2,float* s){ int i;s=(

    有以下程序 #include<stdio.h> void fun(float * p1,int n1,float,*p2,int n2,float * s) { int i; s=(float *)calloc(1,sizeof(float)); *s=0; for(i=0;i<n1;i++) *s+=*p1++; for(i=0;i<n2;i++) *s+=*p2++; } main() { float a[2]={1.1,2.2},b[3]={10.0,20.0,30.0),*s=a; fun(a,2,b,3,s); printf("%f\n",*s); } 上面程序的输出结果是( )

    A.60

    B.3.3

    C.63.3

    D.1.1


    正确答案:D

  • 第2题:

    有以下程序:include float f1 (float n ){return n*n;}float f2 ( float n){return 2

    有以下程序:#include <stdio.h>float f1 (float n ){ return n*n;}float f2 ( float n){ return 2 * n;}main( ){ float ( * p1)(float),( * p2)(float),(*t)(float) ,y1,y2; p1 = f1;p2 = f2; y1 = p2(p1(2.0) ); t =p1;p1 = p2;p2 =t; y2=p2(p1(2.0)); prinff("% 3.0f, %3.Of\n" ,y1,y2);}程序运行后的输出结果是( )。

    A.8,16

    B.8,8

    C.16,16

    D.4,8


    正确答案:A
    解析:程序中定义了三个指向函数的指针变量p1、p2、t,函数返回值均是float类型。在main函数中,p1指向了函数f1,p2指向了函数f2。语句y1=p2(p1(2.0));先调用f1函数,将其返回值4.000000传递给f2的形参n,并将其函数返回值8.000000赋值给y1。然后在main函数中交换p1,p2指针变量的指向,使p1指向了函数f2,p2指向了函数f1,执行语句y2=p2(p1(2.0));先调用函数f2,得到返回值4.000000,将其传递给f1函数的形参n,并将返回值16.000000赋值给y2。在输出y1,y2时,各浮点数占3列,小数位数为0,即输出了:8,16。

  • 第3题:

    【判断题】假定已有变量定义语句:int m=3,n=2;,那么(float)(m/n)表达式的值是1.5。

    A.Y.是

    B.N.否


    错误

  • 第4题:

    以下程序的输出结果是 void fun(float*p1,float*p2,float*s) { s=(float*)calloc(1,sizeof(float)); *s=*p1+*p2++;} main() { float a[2]={1.1,2.2},b[2]={10.0,20.0},*s=a; fun(a,b,s); printf("%5.2f\n",*s);}

    A.11.1

    B.12

    C.21.1

    D.1.1


    正确答案:D
    解析:本题主要考查了一维数组名用作函数实参进行的运算,数组名作实参相当于传递的是地址,这样在函数中对形参进行的操作可以影响到实参。

  • 第5题:

    当网页中n个元素需要水平排列显示时,不能使用哪个CSS属性()

    A.float:none;

    B.display:inline-block;

    C.float:left;

    D.display:inline;


    float:none;