【牛客 题库】 指针移动 || 类创建对象的个数|| 求字符串数组中长度最短的字符串所在的行下标
2017-09-22 14:29
260 查看
1.
请问p1+5= 什么?
p2+5= 什么?
解答:B
p1指向字符型,一次移动一个字符型,1个字节;p1+5后移5个字节,16进制表示为5;
p2指向长整型,一次移动一个长整型,4个字节,p2+5后移20字节,16进制表示为14。
把一个地址赋给指针变量,注意格式。当指针自增时,地址按sizeof(类型)增加
{char每次移动1个字节;short移动2个字节;int
,long ,float移动4个字节;double移动8个字节}
2.假定CSomething是一个类,执行下面这些语句之后,内存里创建了____个CSomething对象。
解答:6
CSomething a();// 没有创建对象,这里不是使用默认构造函数,而是一个函数声明,在C++ Primer393页中有说明。
CSomething b(2);//使用一个参数的构造函数,创建了一个对象。
CSomething c[3];//使用无参构造函数,对象数组,创建了3个对象。
CSomething &ra=b;//ra引用b,没有创建新对象。
CSomething d=b;//使用拷贝构造函数,创建了一个新的对象d。
CSomething *pA = c;//创建指针,指向对象c,没有构造新对象。
CSomething *p = new CSomething(4);//新建一个对象。
3.下列给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,
并把其串长放在形参n所指的变量中。ss所指字符串数数组中共有M个字符串,且串长小于N。
p2+5= 什么?
801005 810005
801010 810014
801005 810014
801010 810015
解答:B
p1指向字符型,一次移动一个字符型,1个字节;p1+5后移5个字节,16进制表示为5;
p2指向长整型,一次移动一个长整型,4个字节,p2+5后移20字节,16进制表示为14。
把一个地址赋给指针变量,注意格式。当指针自增时,地址按sizeof(类型)增加
{char每次移动1个字节;short移动2个字节;int
,long ,float移动4个字节;double移动8个字节}
2.假定CSomething是一个类,执行下面这些语句之后,内存里创建了____个CSomething对象。
10
9
8
7
6
5
解答:6
CSomething a();// 没有创建对象,这里不是使用默认构造函数,而是一个函数声明,在C++ Primer393页中有说明。
CSomething b(2);//使用一个参数的构造函数,创建了一个对象。
CSomething c[3];//使用无参构造函数,对象数组,创建了3个对象。
CSomething &ra=b;//ra引用b,没有创建新对象。
CSomething d=b;//使用拷贝构造函数,创建了一个新的对象d。
CSomething *pA = c;//创建指针,指向对象c,没有构造新对象。
CSomething *p = new CSomething(4);//新建一个对象。
3.下列给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,
并把其串长放在形参n所指的变量中。ss所指字符串数数组中共有M个字符串,且串长小于N。
#define M 5 #define N 20 int fun(char(*ss) , int *n) { int i, k = 0, len = N; for (i = 0; i < M; i++) { len = strlen(ss[i]); if (i == 0) *n = len; if (len < * n) { *n = len; k = i; } } return (k); } int main() { char ss[M] = { "shanghai", "guangzhou", "beijing", "tianjing", "chongqing" }; int n, k, i; printf("\nThe originalb stringsare:\n"); for (i = 0; i < M; i++) puts(ss[i]); k = fun(ss, &n); printf("\nThe length of shortest string is: % d\n", n); printf("\nThe shortest string is: % s\n", ss[k]); }运行结果如下:
相关文章推荐
- 【牛客 题库】 求字符串长度和大小 || 基类和派生类的构造函数,隐式调用与显式调用 || 数组下标的数据类型
- 第十六周 项目二--用指针玩字符串(2.3.1求字符串的长度--用数组名作形参)
- java数组创建了指针,而没有为对象分配空间
- 第十四周项目一数组大折腾(5)创建一个长度为16的整形数组a并初始化前15个元素,输入一个整数b,将b插入到a[0]位置(原有的数据往后“移动”)
- 第十三周项目1.3创建一个长度为16的数组,先输出3的倍数在输出下标为3的数
- 求字符串数组中的最短数组的下标
- 第16周项目2-字符串的长度(数组、指针作形参)
- 切分 字符串指针数组(如环境变量) 的两种方法, 数组下标 和 指针
- 第十六周项目二用指针玩字符串任务三:求字符串的长度并返回(用数组名作形参)
- C++编程入门系列之三十一(数组、指针和字符串:对象指针)
- 二十六、数组、指针和字符串:数组的存储与初始化、对象数组、数组作为函数参数
- 指针动态创建数组,二维指针处理字符数组,链表对象排序
- 【Unity&对象数组】如何创建一个长度不确定的对象数组以及使用方法&墙壁单元方块对象数组
- 鸡啄米:C++编程入门系列之三十一(数组、指针和字符串:对象指针)
- 第十七周项目二 指针玩字符串 3-1 数组做形参求字符串长度
- 读取 XML 数据时,超出最大字符串内容长度配额 (8192)。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLength 属性,可增加此配额。【轉】
- 求字符串长度 用数组做形参和用指针做形参
- 第16周项目2-用指针对字符串进行操作(用数组作形参计算字符串长度)
- 第十四周项目一数组大折腾(3)创建一个长度为16的整形数组a并初始化,先输出数组中元素值为3的倍数的数,再输出所有下标为3的倍数的元素值
- 用string类型的vector对象创建一个字符指针数组