免费智能真题库 > 历年试卷 > 嵌入式系统设计师 > 2017年下半年 嵌入式系统设计师 上午试卷 综合知识
  第50题      
  知识点:   函数指针
  章/节:   嵌入式系统程序设计       

 
仔细阅读下面程序,请给出运行结果(50)。
#include<stdio.h>
#include<math.h>
int f1 (int x) { return x*x; }
int f2 (int x) { return x*x*x;}
main ()
{
int x=3,y1,y2,y3,y4;
int(*f)();
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=9,y2=9,y3=27,y4=27
 
  B.  y1=3,y2=9,y3=27,y4=9
 
  C.  y1=3,y2=3,y3=9,y4=9
 
  D.  y1=3 ,y2=9,y3=9,y4=27
 
 
 

 
  第43题    2014年下半年  
   41%
下面的程序使用了函数指针,其运行结果是(43)。
 
   知识点讲解    
   · 函数指针
 
       函数指针
        在C程序中,可以将函数地址保存在函数指针变量中,然后用该指针间接调用函数。例如:
        
        该语句定义了一个名称为Compare的函数指针变量,用于保存任何有两个常量字符指针形参、返回整型值的函数的地址(函数的地址通常用函数名表示)。例如,Compare可以指向字符串运算函数库中的函数strcmp。
        
        函数指针也可以在定义时初始化:
        
        将函数地址赋给函数指针时,其参数和类型必须匹配。
        若有函数定义int strcmp(const char*,const char*);则strcmp能被直接调用,也能通过Compare被间接调用。下面三个函数调用是等价的:
        
   题号导航      2017年下半年 嵌入式系统设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第50题    在手机中做本题