|
|
本帖最后由 日记里的记忆 于 2015-12-11 16:06 编辑
#include <stdio.h>
/*
int mystrlen(char str[])
void mystrupr(char str[])
void mystrlwr(char str[])
void mystrcpy(char str[])
int strcmp(char str1[], char str2[])
abcdef
abcdefeoio
mystrcmp 实现 strcmp库函数的功能。
1.写一个mystrcat, 实现strcat库函数的功能
void strcat(char str1[],char str2[])
str1--->abc
str2--->efg
mystrcat(str1,str2)
str1--->abcefg
str2--->efg
str3 = abcefg
2. 编写函数 float avg(int a[],int len)
*/
char * mystrcat2(char str1[],char str2[]) // 返回了局部变量的地址,潜在的错误
{
int i=0,j=0;
char str3[40];
while(str1 != '\0')
{
str3 = str1;
i++;
}
while(str2[j] != '\0')
{
str3 = str2[j];
i++;
j++;
}
str3 = '\0';
printf("str3 = %s \n ", str3);
return str3;
}
void mystrcat3(char str1[],char str2[],char str3[])
{
int i=0,j=0;
// char str3[40];
while(str1 != '\0')
{
str3 = str1;
i++;
}
while(str2[j] != '\0')
{
str3 = str2[j];
i++;
j++;
}
str3 = '\0';
// printf("str3 = %s \n ", str3);
// return str3;
}
void mystrcat(char str1[],char str2[])
{
int i=0,j=0;//i是str1 的下标 j是str2 的下标
//1.先找到str1的'\0'
while(str1 != '\0')
i++;
//2.把str2的所有元素赋值给str1
while(str2[j] != '\0')
{
str1 = str2[j];
i++;
j++;
}
//3.赋值'\0' str1
str1 = '\0';
}
int main()
{
char str1[20],str2[20];
char str3[40];
gets(str1);
gets(str2);
// mystrcat(str1,str2);
mystrcat3(str1,str2,str3);
printf("str1=%s str2 = %s str3 = %s", str1,str2,str3);
/*i,j 实参*/
/*
1.实参赋值给相应的形参。参数 个数相同,类型相容
2.进入max函数空间运行,
3.运行完毕,返回main运行
*/
} |
|