用指针玩字符串

来源:互联网 发布:org.apache.cxf.jaxws 编辑:程序博客网 时间:2024/06/12 22:33

   一·数组作形参

/* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:sum123.cpp *作    者:林海云 *完成日期:2014年12月14日 *版 本 号:v2.0 * *问题描述:数组作形参,实现字符串的连接。*程序输入: *程序输出:按要求连接的两个字符串*/ #include <iostream>using namespace std;char *astrcat(char str1[], 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;    //以下所有str1[i]可以替换为*(str1+i),str2[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.*文件名称:sum123.cpp*作    者:林海云*完成日期:2014年12月14日*版 本 号:v2.0**问题描述:指针作形参,实现字符串的连接。*程序输入:*程序输出:按要求连接的两个字符串*/#include <iostream>using namespace std;char *pstrcat(char *str1, 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;    return 0;}char *pstrcat(char *str1, const char *str2){    char *p;    int i;    for(p=str1; *p!='\0'; p++);    for(i=0; *(str2+i)!='\0'; i++,p++)    {        *p=*(str2+i);    }    *p='\0';    return str1;}

两个程序程序的运行结果:


0 0
原创粉丝点击