第18周报告1:指向字符的指针
实验目的:学会指针访问字符数组
实验内容:从字符数组中取出指定位置开始的子符串
/* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者: 苗影
* 完成日期: 2011 年 12 月 23 日
* 版本号:
* 对任务及求解方法的描述部分
* 输入描述:字符串str1和开始位置m
* 问题描述:将字符串str1中从第m个字符开始的全部字符复制成为另一个字符串并输出。
* 算法说明:若m大于str1的长度,返回空串,否则,复制从m位置开始的直到结束的所有符号。
*/
#include <iostream>
using namespace std;
void fun(char*, char* ,int);
int main()
{
char str1[100]="I am a student",str2[100];
int m;
cin>>m;
fun(str1,str2,m);
cout<<str2<<endl;
return 0;
}
//下面实现自定义函数
#include <iostream>
using namespace std;
void fun(char*, char*, int);
int main()
{
char str1[100]="I am a student",str2[100];
int m;
cout<<"请输入m的值"<<endl;
cin>>m;
fun(str1,str2,m);
cout<<str2<<endl;
return 0;
}
void fun(char* p,char *q,int n)
{
int i;
if (strlen(p)<n)
{
cout<<" ";
}
else
{
for(i=0,n=1;i<strlen(p),n<strlen(p);i++,n++)
{ *(q+i)=*(p+n);}
*(q+i+1)=‘\0';
}
}
经验积累:
1. 我一开始用的字符串也行,但别人看了之后说要用指针,我又改了。
2.用字符串和指针都出现了乱码,原来我没给最后的字符赋'\0'.
3.一点小错花了很长时间,应该会记很长一段时间。
上机感言:书上在强调都可能在上级时忘了!