任务和代码:字符串的处理函数 字符串str1和str2连接,连接后的结果存放到str1中
/*
文件名:main.c
作者:小风景
完成日期:2016.7.10
问题描述:字符串的处理函数 字符串str1和str2连接,连接后的结果存放到str1中
程序输出:
*/
#include <stdio.h>
#include <string.h>
char *astrcat(char str1[], const char str2[]); //函数定义字符串数组2中的元素不改变
int main()
{
char s1[50]="Hello world. ";
char s2[50]="Good morning. ";
char s3[50]="vegetable bird! ";
astrcat(s1,s2);
printf("连接后:%s\n", s1);
printf("连接后:%s\n", astrcat(s2,s3)); //返回值为char*型,可以直接显示
return 0;
}
/*
函数功能:将第二个参数的字符串连接到第一个参数空间中
返回值:返回指向链接后的字符串的首地址
*/
char *astrcat(char str1[], const char str2[])
{
int len1 = strlen(str1);
int len2 = strlen(str2); //计算数组1、2中的元素个数
int i = 0;
//将数组str2的元素链接到str1
for(i = len1;i < len1 + len2;i++)
{
str1[i] = str2[i - len1];
}
str1[i] = '\0'; //数组结束给最后一位添加空白符;
return str1; //返回字符串的首地址
}
程序运行结果: