专栏首页小L的魔法馆C++指针数组,二级指针和函数指针的练习

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;
}
  • 测试截图

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C++指针数组,二级指针和函数指针的练习

    Enterprise_
  • 插入、流和反向迭代器

    用于向容器插入元素,一共有三种,back_inserter,front_insert和inserter;

    Enterprise_
  • C++继承和派生练习(一)--关于从people(人员)类派生出student(学生)类等

    Enterprise_
  • C++指针数组,二级指针和函数指针的练习

    Enterprise_
  • 对象存储 Node.js SDK cos-nodejs-sdk-v5 Typescript 声明文件

    用到腾讯云对象存储,使用Node.js SDK cos-nodejs-sdk-v5,没有 typescript 的声明文件,自己写了一个。

    苦少
  • PDO::quote讲解

    PDO::quote — 为SQL语句中的字符串添加引号。(PHP 5 = 5.1.0, PECL pdo = 0.2.1)

    砸漏
  • ShareSDK第三方分享与登录遇到的问题

    LeeCen
  • php实现的生成排列算法示例

    砸漏
  • 继承练习之医学院教师类—C++

    汐楓
  • c#中关于string的特性介绍以及注意事项

    string类型在我们实际项目开发中是一个最使用的类型,string是一个引用类型这一点大家都知道,但是在实际使用过程中,大家会发现string和我们常见的引...

    小小许

扫码关注云+社区

领取腾讯云代金券