【c语言】不用库函数实现strcmp

// 不用库函数实现strcmp

#include <stdio.h>
#include <assert.h>

int my_strcmp( char const *p,char const *q )
{
	assert( ( *p != NULL ) && ( *q != NULL ) );
	while( *p == *q )
	{
		if( *p == '\0')
		{
			return 0;
		}
		p++;
		q++;
	}

		if( *p > *q )
		{
			return 1;
		}
		else
		{
			return -1;
		}

}

int main()
{
	char *p = "aebh";
	char *q = "addfg";
	printf("%d\n",my_strcmp( p,q ));

	return 0;
}
<img src="http://img.blog.csdn.net/20150330230907026?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb3lhcWlhbjU1Mg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
时间: 2024-10-04 18:26:32

【c语言】不用库函数实现strcmp的相关文章

【c语言】不用库函数实现memcpy

//不用库函数实现memcpy #include <stdio.h> #include <assert.h> void * my_memcpy ( void *dst, void const *src, int count ) { void * ret = dst; assert( ( dst != NULL ) && ( src != NULL )); while( count-- ) { *( ( char * )dst ) = *( ( char * )src

C语言中库函数strstr的实现

在C语言中库函数strstr()函数表示在一个字符串str1中查找另一个字符串str2,如果查到则返回str2在str1中首次出现的位置,如果找不到则返回null. char* strstr(char* str,char* s){ int n; if(*s != '\0'){ while(*str){ for(n=0;(*str+n)==(*s+n);n++){ if(!*(s+n+1) == '\0'){ return (char*) str; } } str++; } return NULL

C语言简单strcat和strcmp的实现

对于C标准库中的字符串处理函数应该平常用的比较多:简单实现strcat和strcmp _strcpy: 1 char *_strcpy(char *dest, char *src) 2 { 3 char *buf = dest; 4 while((*dest++ = *src++)) 5 ; 6 return buf; 7 } _strcmp: 1 int _strcmp(char *str1, char *str2) 2 { 3 if(str1 == NULL || str2 == NULL)

删除 C 风格字符串中间的 &#39;*&#39;(不用库函数)

char* removeMiddleStar(char *str) { if (!str) return str; char *p = str; for(; *p == '*'; ++p); char *q = p; while(*++q != '\0'); while(*--q == '*'); for (char *k = p; *k != '\0'; ++k) if ((k < q && *k != '*') || k >= q) *p++ = *k; *p = '\0'

对c语言系统库函数、堆排序、希尔排序、折半插入排序、快速排序消耗时间的比较

#include <stdio.h> #include <time.h> #define N 100000 /*库比较函数:qsort(int *base,int n,int struct_size,int (*compare)(const void *,const void *))中的比较函数*/ int compare(const void *first, const void *second) { if (*(int *)first > *(int *)second)/

C++调用C语言的库函数

在项目中,使用C语言编写了一个socket后台程序tkcofferd,并且为方便客户端的使用,提供了动态库,其中包含socket接口. 现在的需求是使用qt做一个前端界面,用来展示tkcofferd的socket接口功能,用于测试目的. qt中使用c++语言编写,如果需要调用tkcofferd的socket接口(由C语言编写),需要指明函数导出方式,详述如下: 转自http://linhs.blog.51cto.com/370259/140927 C++调用C的库函数时,如果头文件定义得不恰当,

ubuntu 安装 c语言的库函数man手册

安装 1.C语言库函数基本的帮助文档 sudo apt-get install manpages sudo apt-get install manpages-de sudo apt-get install manpages-de-dev sudo apt-get install manpages-dev 2.POSIX函数帮助文档 sudo apt-get install manpages-posix sudo apt-get install manpages-posix-dev 3.内核函数

c语言 模拟 库函数 strstr()函数

//模拟 库函数  strstr()函数 //从父字符串(较长)找到 完全相同子字符串(较短): //返回相同字符串在父字符串中的首字符的地址: #include<stdio.h> char * my_strstr(char arr[],char arr1[]) { char *p1=NULL,*p2=NULL,*p=NULL; int i = 0,j = 0,k=0,m=0; p1 =&arr[0]; p2 = &arr1[0]; while (1) { if (arr1[0

C语言常用库函数总结

1.存储分配 2.随机数生成 3.数字转换 4.环境通信 5.搜索与排序 6.整型算术 7.多字节.宽字符和字符串转换 8.时间与日期 9.区域设置 10.其它 1.存储分配 void* malloc(size_t size); void* calloc(size_t elt_count, size_t elt_size); void* realloc(size_t *ptr, size_t size); void free(void *ptr); malloc函数分配足够大的内存区域长度(用s