18.1

 

18周任务1

(2011-12-22 17:51:14) [编辑] [删除]
标签:

杂谈

 

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

* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:                            
* 作    者:                    
* 完成日期:  2011 年 12 月 22日
* 版本号:        01.18.1 

* 对任务及求解方法的描述部分
* 输入描述:字符串str1和开始位置m
* 问题描述:将字符串str1中从第m个字符开始的全部字符复制成为另一个字符串并输出。
* 算法说明:若m大于str1的长度,返回空串,否则,复制从m位置开始的直到结束的所有符号。
* 程序头部的注释结束(此处也删除了斜杠)

18周任务1

#include <iostream>
using namespace std;
void fun(char*, char*, int);
int main()
{
char str1[100]="I am a student",str2[100];
int m;
cout<<"请输入一个值:";
cin>>m;
fun(str1,str2,m);
cout<<str2<<endl;
return 0;
}
void fun (char*p,char*q,int m)//q,p,m必须得有,无非就是两个指针间的赋值,不涉及两个字符串,并没有想像的那样复杂。
{
                          //可以是char str[100];调用函数中不能出现char str[100]
 if(m<14)                  //可以是str[m]!='\0'
                            
 for(int i=0;*(p+i)!='\0';p++)//必须用单引号,否则会认为是整型。
 {
  *q=*(p+m+i);//必须有m,因为p是从首地址开始的
  cout<<*q;
 }
 }
 else
  cout<<'\0';
 
}

  
感言:注意细节问题,如p是从首地址开始的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值