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 ...
随机推荐
- PMP合同选择
合同选择
- 数组队列如何手撕?解密ArrayBlockingQueue的实现内幕!
队列 聊起队列,你一定会联想到一个与队列相似的数据结构:栈. 为了更好的理解什么是队列,我们将它和栈来比较一下: 队列的特点是:先进先出,如下图,1先进,1就先出. 图1:队列的图解 栈的特点是:先进 ...
- 使用.NET 6开发TodoList应用(2)——项目结构搭建
为了不影响阅读的体验,我把系列导航放到文章最后了,有需要的小伙伴可以直接通过导航跳转到对应的文章 : P TodoList需求简介 首先明确一下我们即将开发的这个TodoList应用都需要完成什么功能 ...
- JAVA获取昨天、今天、明天等日期
/** * 获取明天的日期字符串 * @return */ public static String tomorrowDateStr(){ Date date=new Date();//取时间 Cal ...
- SpringBoot整合redis实现过期key监听事件
Spring整合redis实现key过期事件监听:https://www.cnblogs.com/pxblog/p/13969375.html 可以用于简单的过期订单取消支付.7天自动收货场景中 1. ...
- nim_duilib(16)之xml学习实战(GTAV加载窗口实现)
本文的目标 使用配置xml实现下面的结果 布局 整体采用水平布局,左边显示文字区域设置为垂直布局. lets go stage 1 创建一个空白窗体,并设置为半透明:同时,使得整个窗口可以移动,则 将 ...
- 【LeetCode】1094. Car Pooling 拼车
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 差分数组 代码 日期 题目地址:https://le ...
- 【LeetCode】789. Escape The Ghosts 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- codeforces B. Island Puzzle
B. Island Puzzle time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...
- 一行代码完成定时任务调度,基于Quartz的UI可视化操作组件 GZY.Quartz.MUI
前言 之前发布过第一个版本,有兴趣的可以去看看: NET Core 基于Quartz的UI可视化操作组件 GZY.Quartz.MUI 简介 GitHub开源地址:l2999019/GZY.Quart ...