第九章-1-指针练习

/*
 * @Issue: 将字符串computer赋给一个字符数组,然后从第一个字母开始间隔的输出该串,用指针完成
 * @Author: 一届书生
 * @LastEditTime : 2020-02-04 09:40:26
 */
#include<iostream>
#include<string>
using namespace std;

int main(){
    string s;
    cin>>s;
    char c[100];
    for(int i=0;i<s.length();i++)
    c[i]=s[i];

    char *p;//输出指针
    for(p=c;p<c+s.length();p+=2)
    cout<<*p;
    cout<<endl;
    return 0;
}

  

/*
 * @Issue: 将字符串中第m个字符开始的全部符复制成另一个字符串,要求在主函数中输入字符串及m的值,
 *          并输出复制结果,在被调用的函数中完成
 * @Author: 一届书生
 * @LastEditTime : 2020-02-04 10:06:53
 */
#include<iostream>
#include<string>
using namespace std;

int main(){
    string a,b="";//将a串复制给b串
    int m,*p;
    cin>>a>>m;
    int alen=a.length();//a串长度
    for(int i=m-1;i<alen;i++)
    b+=a[i];
    cout<<b<<endl;
    return 0;
}

  

/*
 * @Issue: 输入一个字符串,在字符串中的每个字符之间插入一个空格,并输出
 * @Author: 一届书生
 * @LastEditTime : 2020-02-04 10:19:29
 */
#include<iostream>
#include<string.h>
using namespace std;

// 还是要多练习用指针啊

void insert(char *p){      //用指针改的是实际的值,所以不用返回,用void就可以
    for(int i=strlen(p);i>0;i--){
    *(p+i*2)=*(p+i);
    *(p+i*2-1)=' ';
    }
}

int main(){
    char s[100];
    cin>>s;
    insert(s);
    for(int i=0;i<strlen(s);i++)
    cout<<s[i];
    cout<<endl;
    return 0;
}

  

原文地址:https://www.cnblogs.com/52dxer/p/12258666.html