C++指针数组,二级指针和函数指针的练习
- 1.编一程序,将字符串“Hello,C++!”赋给一个字符数组,
然后从第一个字母开始间隔地输出该串(请用指针完成)。 - 代码如下
#include<iostream>
#include<string>
using namespace std;
int main() {
const char str[] = "Hello,C++!";
const char *p = str;
while ((*p) != '\0')
cout << *p++ << " ";
cout << endl;
return 0;
}
测试截图
2.编写一个函数,用于去掉字符串尾部的空格符。
函数原型为:char *mytrim(char *string);
其中参数string为字符串,返回值为指向string的指针。- 代码如下:
#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
char *mytrim(char *string) {
char *p = string;
int c1 = 0, c2 = 0;
while ((*p++) != '\0')
c1++;
cout << "The original length of the string is:" << c1 << endl;
for (int i = c1 - 1; string[i] == ' '; i--) //Reverse Search for spaces
c2++;
*(string + (c1- c2)) = '\0';
cout << "The string is now long:" << c2 << endl;
return string;
}
int main() {
char str[] = "Hello,C++! ";
cout << "The original string is:";
printf("%s\n",str);
cout << mytrim(str) << endl;
return 0;
}
- 测试截图
- 3.编写一个函数,用于去掉字符串前面的空格。
函数原型为:char *myltrim(char *string);
其中参数string为字符串,返回值为指向string的指针。 - 代码如下
#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
char *mytrim(char *string) {
char *p = string;
int c1 = 0, c2 = 0;
while ((*p++) != '\0')
c1++;
cout << "The original length of the string is:" << c1 << endl;
for (int i = 0; string[i] == ' '; i++) //Find spaces from Start
c2++;
for (int i = 0; i < c2; i++)
string[i] = string[i + c2];
*(string + (c1 - c2)) = '\0';
cout << "The string is now long:" << c2 << endl;
return string;
}
int main() {
char str[] = " Hello,C++!";
cout << "The original string is:";
printf("%s\n", str);
cout << mytrim(str) << endl;
return 0;
}
- 测试截图
C++指针数组,二级指针和函数指针的练习的更多相关文章
- c语言指针数组和结构体的指针
指向数组的指针,先初始化一个数组,使用传统方式遍历 void main() { ] = { ,,,, }; ; i < ; i++) { printf("%d,%x\n", ...
- c语言.函数指针数组
函数指针: 一个指向函数的指针.一般用函数名表示. 函数指针数组:元素为函数指针的数组.转移表.c语言中函数不可以定义为数组,只能通过定义函数指针来操作. #include<stdio.h> ...
- 转:函数指针数组的妙用(I)
转自:http://blog.sina.com.cn/s/blog_4c78b35f010008hi.html 笔者在开发某软件过程中遇到这样一个问题,前级模块传给我二进制数据,输入参数为 char* ...
- C语言函数指针变量和指针函数以及指针数组
C语言中,一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址.我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使该指针变量指向该函数.然后通过指针变量就可以找到并调用这 ...
- C语言基础知识点整理(函数/变量/常量/指针/数组/结构体)
函数 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ...
- [C++]数组指针,数组引用,函数指针
数组指针是指一个指向数组的指针,例如有一个数组指针p指向一个数组a[],则 *p是取到这个数组,也就是说 *p=a,因此 **p =a[0], 它的定义为: ]; ]=&a; (*c)表示它是 ...
- [C++ Primer Plus] 第7章、函数(一)程序清单——递归,指针和const,指针数组和数组指针,函数和二维数组
程序清单7.6 #include<iostream> using namespace std; ; int sum_arr(int arr[], int n);//函数声明 void ma ...
- 指针数组,数组指针,函数指针,main函数实质,二重指针,函数指针作为參数,泛型函数
1.指针数组 数组里面的每一个元素都是指针. 指针数组的案比例如以下: 易犯错误: 2.数组指针 归根结底还是指针,仅仅是取*的时候可以取出一整个数组出来. 数组指针:(一个指针指向了数组.一般 ...
- C++中的指针、数组指针与指针数组、函数指针与指针函数
C++中的指针.数组指针与指针数组.函数指针与指针函数 本文从刚開始学习的人的角度,深入浅出地具体解释什么是指针.怎样使用指针.怎样定义指针.怎样定义数组指针和函数指针.并给出相应的实例演示.接着,差 ...
- 【嵌入式开发】C语言 命令行参数 函数指针 gdb调试
. 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21551397 | http://www.hanshul ...
随机推荐
- Linux配置JDK1.8环境变量
每次感觉配这个都很简单,但每次都要查一下,毕竟配错一点 后面都比较麻烦,记录一下,方便以后查看. linux 下安装jdk和windows下的安装是一样的,之前在windows安装的时候是先下载压缩 ...
- initBinder转换日期格式
@Controller public class FirstController { @RequestMapping("/first") //类型转化工作一定是在真正的handle ...
- 小米3 无法显示日志 Logcat
需要ROOT权限 1. 使用文件浏览器进入 /system/etc/init.d/ 目录 2.使用文本编辑器打开里面的 01Supertweak 这个文件 在最下面找到 rm /dev/lo ...
- Socket.Receive 无法预知字节长度的数据接收
话不多说直接上代码: string recvStr = ""; byte[] recvBytes = new byte[1024]; int bytes; do { bytes = ...
- CSS3中的Flexbox弹性布局(一)
CSS3引入了一种新的布局模式——Flexbox布局,即伸缩布局盒模型(Flexible Box),用来提供一个更加有效的方式制定.调整和分布一个容器里项目布局,即使它们的大小是未知或者动态的,这里简 ...
- SQL Server ->> 在SQL Server中创建ASSEMBLY
首先要把数据库的TRUSTWORTHY属性改为ON ALTER DATABASE [MYDB] SET TRUSTWORTHY ON GO 接下来直接创建ASSEMBLY应该就没问题了.但是往往有可能 ...
- 实验验证stack和heap中是否被设初值
#include <iostream> #include <stdlib.h> using namespace std; class Foo { public: int i; ...
- 我的HTML总结之HTML发展史
HTML是Web统一语言,这些容纳在尖括号里的简单标签,构成了如今的Web. 1991年,Tim Berners-Lee编写了一份叫做“HTML标签”的文档,里面包含了大约20个用来标记网页的HTML ...
- 建立自己的git账户并保存资料的重要性
Github是一个代码托管平台和开发者社区,开发者可以在Github上创建自己的开源项目并与其他开发者协作编码.创业公司可以用它来托管软件项目,开源项目可以免费托管,私有项目需付费.[2] GitHu ...
- 异常:org.hibernate.id.IdentifierGenerationException
在有关联关系的数据表中保存数据时,先保存一端,再保存多端的抛出的异常(此时不管一端,还是多端的对象都没有设置id,属性,也就是要保存的两个对象的id 属性为空.) org.hibernate.id.I ...