下面的程序使用了函数指针,其运行结果是______。#include<stdio.h>#include<math.h>int f1(int a){return a*a;}int f2(int a){return a*a*a;}void main( ){int x=3,y1,y2,y3,y4;f=f1;y1=(*f)(x);y2=f1(x);f=f2;y3=f(x);y4=f2(x);printf("y1=%d,y2=%d,y3=%d,y4=%d\n",y1,y2,y3,y4);}A.y1=27,y2=9,y3=9,y4=27B.y1=9,y2=9,y3=27,y4=27C.y1=9,y2=27,y3=9,y4=27D.y1=27,y2=27,y3=9,y4=9
下面的程序使用了函数指针,其运行结果是______。
#include<stdio.h>#include<math.h>int f1(int a){return a*a;}int f2(int a){return a*a*a;}void main( ){int x=3,y1,y2,y3,y4;f=f1;y1=(*f)(x);y2=f1(x);f=f2;y3=f(x);y4=f2(x);printf("y1=%d,y2=%d,y3=%d,y4=%d\n",y1,y2,y3,y4);}
#include<stdio.h>#include<math.h>int f1(int a){return a*a;}int f2(int a){return a*a*a;}void main( ){int x=3,y1,y2,y3,y4;f=f1;y1=(*f)(x);y2=f1(x);f=f2;y3=f(x);y4=f2(x);printf("y1=%d,y2=%d,y3=%d,y4=%d\n",y1,y2,y3,y4);}
A.y1=27,y2=9,y3=9,y4=27
B.y1=9,y2=9,y3=27,y4=27
C.y1=9,y2=27,y3=9,y4=27
D.y1=27,y2=27,y3=9,y4=9
B.y1=9,y2=9,y3=27,y4=27
C.y1=9,y2=27,y3=9,y4=27
D.y1=27,y2=27,y3=9,y4=9
参考解析
解析:本题考查C语言函数指针的基础知识。仔细阅读程序,正确理解函数指针并将参数正确代入函数,可得到y1=9,y2=9,y3=27,y4=27的结果。
相关考题:
( 32 ) 虚函数支持多态调用 , 一个基类的指针可以指向派生类的对象 , 而且通过这样的指针调用虚函数时 ,被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用。有如下程序:#includeusing namespace std;class Base{public:virtual void f () {cout ” f0+ ” ;}void g () {cout ” g0+ ” ;}};class Derived:public Base{public:void f () {cout ” f+ ” ;}void g () {cout ” g+ ” ;}};int main (){Derived d;Base*p= & d;p-f () ; p-g () ;return 0:}运行时输出的结果是A ) f+g+B ) f0+g+C ) f+g0+D ) f0+g0+
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #include <iostream> using namespace std; class Base { public: virtual void f() {cout<<"f0+";} void g() {cout<<"g0+";} }; class Derived: public Base { public: void f() {cout<<"f+";} void g() {cout<<"g+";} }; int main() { Derived d; Base *p=d; P->f(); P->g(); return 0; }运行时输出的结果是A.f+g+B.f0+g+C.f+g0+D.f0+g0+
下面的程序的运行结果是__________func main() { x := []string{"a", "b", "c"}for _, v := range x { fmt.Print(v)}}
窗体上有一个名称为Command1的命令按钮,其单击事件过程及有关函数过程如下: Private Sub Command1 Click( ) Dim n As Integer n=add(5,10) Print n End Sub Function add(v1 As Integer,v2 As Integer,Optiona1 v3)As Integer If Not IsMissing(v3)Then add=v1+v2+v3 Else add=v1+v2 End If End Function 运行程序,单击命令按钮,以下叙述中正确的是( )。A.程序不能正常运行,因为函数add的参数定义有错B.程序不能正常运行,因为函数定义与函数调用语句的参数个数不匹配C.程序能正常运行,结果是在窗体上显示15D.程序能正常运行,结果是在窗体上显示510v3
以下程序的运行结果是______。 include include template class TA 以下程序的运行结果是______。include<iostream.h>include<math.h>template<class T>class TAdd//定义类模板TAdd,T为类型{Tx,y;public:TAdd (Ta,Tb) {x=a,y=b;) //构造函数Tadd() { retum x+y;}//成员函数};void main( ){TAdd<int>A (5,6);
运行下面的程序,输入字符串Microsoft Visual Studio,则程序的执行结果是()。includemai 运行下面的程序,输入字符串Microsoft Visual Studio,则程序的执行结果是( )。 #include<stdio.h> main() {char Chr[20]; scanf("%s",Chr); printf("%s\n”,Chr); }A.Microsoft Visua1 StudioB.MC.MicrosoftD.MicrosoflVisualStudio
以下程序中函数sCmp的功能是返回形参指针sl和s2所指字符串中较小字符串的首地址。若运行时依次输入:abCd、abba和abC三个字符串,则输出结果是( )。A.abCdB.abbaC.abCD.abCa
窗体上有一个名称为Command1的命令按钮,其单击事件过程及有关函数过程如下:Private Sub Command1 Click( )Dim n As Integern=add(5,10)Print nEnd SubFunction add(v1 As Integer,v2 As Integer,Optiona1 v3)As IntegerIf Not IsMissing(v3)Thenadd=v1+v2+v3Elseadd=v1+v2End IfEnd Function运行程序,单击命令按钮,以下叙述中正确的是( )。A.程序不能正常运行,因为函数add的参数定义有错B.程序不能正常运行,因为函数定义与函数调用语句的参数个数不匹配C.程序能正常运行,结果是在窗体上显示15D.程序能正常运行,结果是在窗体上显示510v3
●以下关于程序的叙述中,错误的是__(30) 。(30)A.有编译错误的程序一定包含着错误B.运行结果正确的程序也可能含有错误C.调用了未定义的函数会产生链接错误D.调用了未定义的函数会发生运行异常
项目名为EX_SDIHello的单文档应用程序中的视图类OnDraw(CDC*pDC)虚函数中,有以下代码:CEx_SDIHelloDoc*pDoc=GetDocument();,其功能是()。A、获取视图类对象指针B、获取应用程序类对象指针C、获取文档类对象指针D、获取主框架类对象指针
单选题项目名为EX_SDIHello的单文档应用程序中的视图类OnDraw(CDC*pDC)虚函数中,有以下代码:CEx_SDIHelloDoc*pDoc=GetDocument();,其功能是()。A获取视图类对象指针B获取应用程序类对象指针C获取文档类对象指针D获取主框架类对象指针
单选题函数rewind(fp)的作用是( )。A函数rewind(fp)的作用是使文件读写指针指向文件开始位置B使文件位置指针指向文件的末尾C使文件位置指针移至前一个字符的位置D使文件位置指针移至下一个字符的位置
单选题在VB编程中,我们使用函数与过程是为了()。A使程序模块化B使程序易于阅读C提高程序运行速度D便于系统的编译