C++ 第十八周报告1--《指针访问字符数组》

本文介绍了一个使用C++实现的指针操作案例,通过从指定位置开始复制字符到新的字符串,并展示了完整的程序代码和运行流程。该程序帮助读者理解如何使用指针处理字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验目的:学会指针访问字符数组
实验内容:从字符数组中取出指定位置开始的子符串

* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:  strcpy.cpp                           
* 作    者:  刘江波                           
* 完成日期:  2011 年 12 月 21 日
* 版 本 号:  v12.21
* 对任务及求解方法的描述部分
* 输入描述:字符串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;
}


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值