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 ...
随机推荐
- AtCoder Beginner Contest 172 题解
AtCoder Beginner Contest 172 题解 目录 AtCoder Beginner Contest 172 题解 A - Calc B - Minor Change C - Tsu ...
- epoll linux和协程gevent的区别
epoll linux 底层是libevent.so模块实现的 gevent也是IO多路复用,底层是libevent.so模块实现的是更上层的封装 Twsited异步网络框架.代码量非常大.在开源p ...
- js Uncaught TypeError: undefined is not a function
如下代码: var columns={}; var column={}: column.name='张三'; columns.push(column); 会出现Uncaught TypeError: ...
- 如何用uniapp+vue开发自定义相机插件——拍照+录像功能
调用手机的相机功能并实现拍照和录像是很多APP与插件都必不可少的一个功能,今天智密科技就来分享一下如何基于uniapp + vue实现自定义相机界面,并且实现: 1: 自定义拍照 2: 自定义录像 3 ...
- MyBatis学习(四)MyBatis一对一关联查询
一对一关联查询即.两张表通过外键进行关联.从而达到查询外键直接获得两张表的信息.本文基于业务拓展类的方式实现. 项目骨架 配置文件conf.xml和db.properties前几节讲过.这里就不细说了 ...
- MyBatis中比较(大于、小于)符号的转义写法
< < <= <= > > >= >= & & ' ' " & ...
- layUI中layDate控件兼容性问题(手机端没有效果,不显示)
使用layDate插件发现在PC端无问题,然而在适配移动端时,发现点击input时,laydate渲染出的时间控件有时候没有反应,后发现只需在render里加入trigger: 'click',即可以 ...
- c++之面试题(2)实现字符串的分割函数SplitStr
题目描述 3.实现一个将字符串按指定字符分隔的函数,形式已经确定如下,请完成标有"//请补充"的内容. 说明:返回值为是否找到分割符(true找到,false未找到),当未找到分割 ...
- 【LeetCode】1120. Maximum Average Subtree 解题报告 (C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 DFS 日期 题目地址:https://leetcod ...
- 【LeetCode】949. Largest Time for Given Digits 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...