实验目的:学会指针访问字符数组
实验内容:从字符数组中取出指定位置开始的子符串
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作
* 完成日期:
* 版 本 号:
* 对任务及求解方法的描述部分
* 输入描述:字符串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;
cout << "输入您想要开始复制的位置:" << endl;
cin >> m;
fun(str1, str2, m);
cout << str2 << endl;
return 0;
}
//下面实现自定义函数
void fun(char*p1, char*p2, int m)
{
int n = strlen(p1);
if(m > n)
{
cout << "超出句子长度!";
*p2 = '\0';
}
else
{
for(int i = 0; *p1 != '\0'; i++, *p1++)
{
if(i >= m)
{
*p2 = *p1;
*p2++;
}
}
*p2 = '\0';
}
return;
}
#include<iostream>
using namespace std;
void fun(char*, char*, int);
int main()
{
char str1[100] = "I am a student", str2[100];
int m;
cout << "输入您想要开始复制的位置:" << endl;
cin >> m;
fun(str1, str2, m);
cout << str2 << endl;
return 0;
}
//下面实现自定义函数
void fun(char*p1, char*p2, int m)
{
int n = strlen(p1);
if(m > n)
{
cout << "超出句子长度!";
*p2 = '\0';
}
else
{
for(int i = 0; *p1 != '\0'; i++, *p1++)
{
if(i >= m)
{
*p2 = *p1;
*p2++;
}
}
*p2 = '\0';
}
return;
}