zoukankan      html  css  js  c++  java
  • C++指针数组,二级指针和函数指针的练习

    • 1.编一程序,将字符串“Hello,C++!”赋给一个字符数组,
      然后从第一个字母开始间隔地输出该串(请用指针完成)。
    • 代码如下
    #include<iostream>
    #include<string>
    using namespace std;
    int main() {
        const char str[] = "Hello,C++!";
        const char *p = str;
        while ((*p) != '') 
            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++) != '')
            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)) = '';
        cout << "The string is now long:" << c2 << endl;
        return string;
    }
    int main() {
        char str[] = "Hello,C++!         ";
        cout << "The original string is:";
        printf("%s
    ",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++) != '')
            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)) = '';
        cout << "The string is now long:" << c2 << endl;
        return string;
    }
    int main() {
        char str[] = "          Hello,C++!";
        cout << "The original string is:";
        printf("%s
    ", str);
        cout << mytrim(str) << endl;
        return 0;
    }
    • 测试截图
      这里写图片描述
  • 相关阅读:
    多个EditText 监听矛盾的 解决办法 (Overstack)溢出栈
    JZ2440 裸机驱动 第5章 GPIO接口
    从头调试stm32 HID
    嵌入式GPIO接口及操作(二)
    嵌入式GPIO接口及操作(一)
    嵌入式linux网络配置
    嵌入式开发环境搭建之安装交叉编译工具链
    securecrt鼠标右键的配置
    S3C2440上LCD驱动(FrameBuffer)实例开发讲解(一)
    s3c2440串口详解
  • 原文地址:https://www.cnblogs.com/FlyerBird/p/8995962.html
Copyright © 2011-2022 走看看