day 13 函数指针类型
(1).有以下程序:
则正确的选项是【B】
(A).7 4
(B).4 10
(C).8 8
(D)10 10
分析:主要考求字符串的长度,strlen是专门求字符串长度的函数,但不包含‘\0’在内。
sizeof是计算变量、数组、类型的大小,计算数组时包含‘\0’.
(2).下面是有关C语言字符数组的描述,其中错误的是【D】
(A).不可以用赋值语句给字符数组名赋值字符串
(B).可以用输入语句把字符串整体输入给字符数组
(C).字符数组中的内容不一定是字符串
(D).字符数组只能存放字符串
(3).有以下程序:
void fun(int n,char *s){……}
则下午对函数指针的定义和赋值均正确的是【D】
(A).void (*pf)();pf=fun;
(B).void *pf();pf=fun;
(C).void ()(*pf);pf=fun;
(D).void (*pf)(int,char);pf=&fun;
分析:void (*)()===>函数指针类型 void (*p)(intx,inty)=print===>void(*p)(形参)=(函数名)
void (*pf)();pf=fun;错误:*pf指向的是没有形参的函数
void *pf();pf=fun;错误:pf不是一个函数指针,不符合函数指针的格式。是一个函数声明
void ()(*pf);pf=fun;错误:指针放在了形参的位置上。
以上两个函数指针的程序都可以实现
(4).有以下程序:
程序运行后的输出结构是【C】
(A).7
(B).8
(C).9
(D).10
分析;static是静态函数,只初始化一次。s=f(a)第一次进入后,n=n+a===》返回输出s=4
第二次进入,s=s+f(a),n=n+a===》n=3+2=5
因此s=9
(5).下面结构体的定义语句中,错误的是【B】
(A).struct ord{ (B).struct ord{
int x; int x;
int y; int y;
int z; int z;
};struct ord a; }struct ord a;
(C).struct ord{ (D).struct {
int x; int x;
int y; int y;
int z; int z;
}a; }a;
分析:B错误,缺失分号
A正确:先定义结构体类型,再定义结构体变量
C正确:定义结构体类型时,同时定义一个结构体变量
D正确:使用匿名结构体定义方式
(6).在E-R图中,用来表示实体联系的图形是【C】
(A).椭圆形
(B).矩形
(C).菱形
(D).三角形
但发现有一个问题:就是数组中必须是已经知道并且输入的数。如果是随机数的会出现bug【但结果是对的】(这个问题也困扰了我)
经过逐语句调试,生成的随机数确实存到了数组内。但还是出现调试错误。
day 13 函数指针类型的更多相关文章
- C++------------typedef 函数指针类型定义
摘要bycrazyhacking: typedef 是定义了一种"函数指针"类型,可以再声明很多变量.函数指针的定义是定义了一个变量. int max(int x,i ...
- c++ 自定义类型,函数指针类型
用typedef定义函数指针类型 -函数指针和函数指针数组 46课里边有如下代码 int add(int a,int b,int d) { return a+b+d; } int mul(int a, ...
- c++特性:指向类成员的指针和非类型类模板参数和函数指针返回值 参数推导机制和关联型别
一.c++允许定义指向类成员的指针,包括类函数成员指针和类数据成员指针 格式如下: class A { public: void func(){printf("This is a funct ...
- [Reprint]C++普通函数指针与成员函数指针实例解析
这篇文章主要介绍了C++普通函数指针与成员函数指针,很重要的知识点,需要的朋友可以参考下 C++的函数指针(function pointer)是通过指向函数的指针间接调用函数.相信很多人对指向一般 ...
- 【嵌入式开发】C语言 命令行参数 函数指针 gdb调试
. 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21551397 | http://www.hanshul ...
- 成员函数指针与高性能C++委托
1 引子 标准C++中没有真正的面向对象的函数指针.这一点对C++来说是不幸的,因为面向对象的指针(也叫做“闭包(closure)”或“委托(delegate)”)在一些语言中已经证明了它宝贵的价值. ...
- C语言 命令行参数 函数指针 gdb调试
. 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21551397 | http://www.hanshul ...
- 转·c语言函数指针的理解与使用
原文出处:https://www.cnblogs.com/haore147/p/3647262.html 1.函数指针的定义 顾名思义,函数指针就是函数的指针.它是一个指针,指向一个函数.看例子: 1 ...
- c语言函数指针的理解与使用(学习)
1.函数指针的定义 顾名思义,函数指针就是函数的指针.它是一个指针,指向一个函数.看例子: 1 2 3 A) char * (*fun1)(char * p1,char * p2); B) char ...
随机推荐
- Java中List排序的3种方法
在某些特殊的场景下,我们需要在 Java 程序中对 List 集合进行排序操作.比如从第三方接口中获取所有用户的列表,但列表默认是以用户编号从小到大进行排序的,而我们的系统需要按照用户的年龄从大到小进 ...
- CF415A Mashmokh and Lights 题解
Content 有 \(n\) 个灯,一开始都是亮着的. 有 \(m\) 次操作,每次操作按下开关 \(x\),按下之后所有编号 \(\geqslant x\) 的灯全部熄灭.问你所有的灯第一次被熄灭 ...
- django信号机制 (每个操作前后django都预留了两个钩子,便于统一化添加功能)
信号 Django中提供了"信号调度",用于在框架执行操作时解耦.通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者. 典型应用场景:在所有数据库相关操作(读/ ...
- 电压-电流转换(一):4-20mA电流环
在仪表电路中,直流信号通常用作物理测量值的模拟表示,例如温度.压力.流量.重量和运动.最常见的是,直流电流信号优先于直流电压信号使用,因为在从电源(测量设备)到负载(指示器.记录仪或控制器)的整个串联 ...
- 【九度OJ】题目1206:字符串连接 解题报告
[九度OJ]题目1206:字符串连接 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1206 题目描述: 不借用任何字符串库函数实现无 ...
- 【LeetCode】557. Reverse Words in a String III 解题报告(Java & Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 Java解法 Python解法 日期 题目地址:ht ...
- 【LeetCode】622. Design Circular Queue 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 用直的代替弯的 数组循环利用 日期 题目地址:htt ...
- 【LeetCode】832. Flipping an Image 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 翻转 + 异或 直接计算 日期 题目地址:https ...
- codeforc 603-A. Alternative Thinking(规律)
A. Alternative Thinking time limit per test 2 seconds memory limit per test 256 megabytes Kevin ha ...
- 1091. Tmutarakan Exams
1091. Tmutarakan Exams Time limit: 1.0 secondMemory limit: 64 MB University of New Tmutarakan trains ...