用C語言寫strcat、strcpy、strlen、strcmp

Mr順發表於2020-12-06

題目:在不使用<string.h>庫函式的基礎上,自行編寫出能進行字串複製(函式名: strcpy1()), 連線(函式名: strat1()), 字串長度判斷(函式名: strlen1( )),大小判斷(函式名: strcnp1( )) 的函式。

#include <stdio.h>  
//1字串拷貝函式strcpy1()
char *strcpy1(char *dest,const char *src)  
{  
    char *p;  
    p = dest;  
    while(*src)  
    {  
        *dest++ = *src++;  
    }  
    *dest = '\0';  
    return p;  
} 

//2字串連線接函式strcat1() 
char *strcat1(char *dest,const char *src)  
{  
    char *p;  
    p = dest;  
    while(*dest)  
        dest++;  
    while(*src)  
    {  
        *dest++ = *src++;  
    }  
    *dest = '\0';  
  
    return p;  
}

//3求字串長度函式 strlen1() 
int strlen1(const char *p)  
{  
    int i = 0;  
    while(p[i])  
        i++;  
  
    return i;  
}  


//4字串比較函式strcmp1()
int strcmp1(const char *s1,const char *s2)  
{  
    int i = 0;  
    while(*s1 || *s2)  
    {  
        if(*s1 > *s2)  
        {  
            return 1;  
        }  
        else if(*s1 < *s2)  
        {  
            return -1;  
        }  
        else  
        {  
            s1++;  
            s2++;  
        }     
    }  
    return 0;  
} 


int main()  
{   
//	//1.測試strcpy1(s2,s1) s1複製到s2 
//	const char str1[] = "Helloworld";  
//    char str2[30];  
//    strcpy1(str2,str1);  
//    printf("str2 = %s\n",str2);
//	
//	//2.測試strcat1(s1,s2)  s1後連線s2 
//	char str3[] = "hello";  
//    char str4[] = "world";  
//    strcat1(str3,str4);  
//    printf("str1 = %s\n",str3);   
//	
//	//3.測試strlen1() 
//	int len;  
//    char str[] = "Helloworld";  
//    len = strlen1(str);  
//    printf("len = %d\n",len);  
//    
//    //4.測試strcmp(s1,s2) 比較s1和s2的大小 
//    int n;  
//    char str5[] = "hell";  
//    char str6[] = "hello";  
//    n = strcmp1(str5,str6);  
//    printf("n = %d\n",n);    
	return 0; 
}  

相關文章