第九章-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; }