初学者求捉虫
刚开始学C语言,题目是编写连接字符串、拷贝字符串、比较字符串、转换大小写等函数并测试,下面是我写的代码,求各位捉虫OTZ#include<stdio.h>
void strcpy(char str[],char cpy[]);
void strcat(char str1[],char str2[]);
void strlwr(char str[]);
void strupr(char str[]);
int strcmp(char str1[],char str2[]);
int main()
{
char a[20],b[20],cpy[20];
printf("a:");
gets(a);
printf("b:");
gets(b);
strcpy(a,cpy); //拷贝字符串
puts(cpy);
printf("\n");
strcat(a,b); //连接字符串
puts(a);
printf("\n");
printf("a:");
gets(a);
strlwr(a); //大小写转换
puts(a);
strupr(a); //大小写转换
puts(a);
strcmp(a,b); //字符串比较
return 0;
}
void strcpy(char str[],char cpy[])
{
int i;
for(i=0;(str[i]=cpy[i])!='\0';i++)
cpy[i]=str[i];
cpy[i]='\0';
}
void strcat(char str1[],char str2[])
{
int rear,i,j;
for(rear=0;str1[rear]!='\0';rear++);
i=rear;
for(rear=0;str2[rear]!='\0';rear++);
for(j=0;j<=rear;j++)
str1[i]=str2[j];
}
void strlwr(char str[])
{
int rear,i;
for(rear=0;str[rear]!='\0';rear++);
for(i=0;i<rear;i++)
{
if(str[i]>'A'&&str[i]<'Z')
str[i]=str[i]-'A'+'a';
}
}
void strupr(char str[])
{
int rear,i;
for(rear=0;str[rear]!='\0';rear++);
for(i=0;i<rear;i++)
{
if(str[i]>'a'&&str[i]<'z')
str[i]=str[i]-'a'+'A';
}
}
int strcmp(char str1[],char str2[])
{
int i,j,rear1,rear2;
for(rear1=0;str1[rear1]!='\0';rear1++);
for(rear2=0;str2[rear2]!='\0';rear2++);
rear1--;
rear2--;
for(i=0;;i++)
{
if(i==rear1)
{
if(i==rear2)
return 0;
else
return -1;
}
if(i==rear2)
return 1;
if(str1[i]!=str2[i])
return str1[i]-str2[i];
}
}