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 ...
随机推荐
- Springboot MVC 自动配置
Springboot MVC 自动配置 官方文档阅读 https://docs.spring.io/spring-boot/docs/current/reference/html/web.html#w ...
- 经验:使用mysqlimport快速导入csv文件
mysqlimport 工具实际上也只是"load data infile"命令的一个包装实现.常用选项:--fields-terminated-by=字符串:设置字符串为字段之间 ...
- 为dokcer中最简版ubuntu(70M)增加apt安装能力
如果要在docker中安装软件,除了直接找对应的软件镜像,一般我们会先安装Linux系统,然后再在里面安装各种需要的软件. 比如我想安装乌班图,直接下载官方的版本: 这个目前是Ubuntu20.04, ...
- 【LeetCode】377. Combination Sum IV 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- 【LeetCode】802. Find Eventual Safe States 解题报告(Python)
[LeetCode]802. Find Eventual Safe States 解题报告(Python) 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemi ...
- 【LeetCode】430. Flatten a Multilevel Doubly Linked List 解题报告(Python)
[LeetCode]430. Flatten a Multilevel Doubly Linked List 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: ...
- 【LeetCode】131. Palindrome Partitioning 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 回溯法 日期 题目地址:https://leetco ...
- 1127 - Funny Knapsack
1127 - Funny Knapsack PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB ...
- 1275 - Internet Service Providers
1275 - Internet Service Providers PDF (English) Statistics Forum Time Limit: 2 second(s) Memory L ...
- 理解HTTP协议中的multipart/form-data
前提 之前在写一个通用HTTP组件的时候遇到过媒体(Media)类型multipart/form-data的封装问题,这篇文章主要简单介绍一下HTTP协议中媒体类型multipart/form-dat ...