第十六周项目二——(1)用指针玩字符串

来源:互联网 发布:最新伤感歌曲网络歌曲 编辑:程序博客网 时间:2024/06/05 18:26
/* Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作者:陈丹妮 * 完成日期:2014年 12 月 14 日 * 版 本 号:v1.0 * * 问题描述: 字符串连接函数实现和测试示例 * 输入描述: 无 * 程序输出: 连接的字符串 */#include <iostream>using namespace std;char *astrcat(char stri[],const char str2[]);int main(){    char s1[50]="Hello world.";    char s2[50]="Good morning.";    char s3[50]="vegetable bird!";    astrcat(s1,s2);    cout<<"连接后:"<<s1<<endl;    cout<<"连接后:"<<astrcat(s2,s3)<<endl;  //返回值为char*型,可以直接显示    return 0;}//作为示例,本函数采用了形参为数组,在实现中,直接用下标法进行访问//实际上,在实现中,完全可以用指针法访问char *astrcat(char str1[],const char str2[]){    int i,j;    for(i=0;str1[i]!='\0';i++);  //找到str1的结束    for(j=0;str2[j]!='\0';i++,j++)    {        str1[i]=str2[j];    }    str1[i]='\0';   //切记!!    return str1;}

/* Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作者:陈丹妮 * 完成日期:2014年 12 月 14 日 * 版 本 号:v1.0 * * 问题描述: 字符串连接函数实现和测试示例 * 输入描述: 无 * 程序输出: 连接的字符串 */#include <iostream>using namespace std;char *pstrcat(char stri[],const char str2[]);int main(){    char s1[50]="Hello world.";    char s2[50]="Good morning.";    char s3[50]="vegetable bird!";    pstrcat(s1,s2);    cout<<"连接后:"<<s1<<endl;    cout<<"连接后:"<<pstrcat(s2,s3)<<endl;  //返回值为char*型,可以直接显示    return 0;}//作为示例,本函数采用了形参为数组,在实现中,直接用下标法进行访问//实际上,在实现中,完全可以用指针法访问char *pstrcat(char *str1,const char *str2){    char *p;    //char *q=str2;  //如果这样会出现错误,如何改程序,可有很多种改法    int i;    for(p=str1;*p!='\0';p++);  //找到str1的结束    for(i=0;*(str2+i)!='\0';i++,p++)  //如果q的定义通过,可以用*(q+i)代替*(str2+i)    {        *p=*(str2+i);    }    *p='\0';  //切记!!    return str1;}


学习心得:比较两种不同的方法,指针真的很好用,加油加油!!!

0 0