【c语言】模拟实现strchr函数,功能:在一个字符串中查找一个字符第一次出现的位置,如果没有出现返回NULL

// 模拟实现strchr函数,功能:在一个字符串中查找一个字符第一次出现的位置,如果没有出现返回NULL

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

char const* my_strchr(char const *p,char c)
{
	assert(p != NULL);
	while (*p)
	{
		if (*p == c)
			return p;
		else
			p++;
	}
	return NULL;
}

int main()
{
	char *p = "zhaoyaqian";
	printf("字符串是:%s\n", p);
	printf("位置:%p\n", my_strchr(p, 'a'));
	printf("位置:%p\n", my_strchr(p, 'c'));
	return 0;
}

<img src="http://img.blog.csdn.net/20150702101456412?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb3lhcWlhbjU1Mg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-26 06:04:28

【c语言】模拟实现strchr函数,功能:在一个字符串中查找一个字符第一次出现的位置,如果没有出现返回NULL的相关文章

【C语言】模拟实现strchr函数.即在一个字符串中查找一个字符第一次出现的位置并返回

//模拟实现strchr函数.即在一个字符串中查找一个字符第一次出现的位置并返回 #include <stdio.h> //#include <string.h> #include <assert.h> char* my_strchr(char *dst, char src) { assert(dst); while (*dst != '\0') { if (*dst == src) return dst; dst++; } return 0; } int main()

模拟实现在一个字符串中查找一个字符串

在标准库中有一个函数strstr()用于在一个字符串中查找一个规定的字符串,这个函数可以模拟实现一下,代码如下: #include <stdio.h> #include <assert.h> char *my_strstr(const char str[],const char strstr[]) {  int i = 0,j = 0,k = 0;  assert(str != NULL);  assert(strstr != NULL);  for(i = 0;str[i] !=

40 python 正则表达式 match方法匹配字符串 使用search函数在一个字符串中查找子字

第一课: 使用match方法匹配字符串 # 正则表达式:使用match方法匹配字符串 ''' 正则表达式:是用来处理文本的,将一组类似的字符串进行抽象,形成的文本模式字符串 windows dir *.txt file1.txt file2.txt abc.txt test.doc a-file1.txt-b linux/mac ls 主要是学会正则表达式的5方面的方法 1. match:检测字符串是否匹配正则表达式 2. search:在一个长的字符串中搜索匹配正则表达式的子字符串 3. fi

C语言-在一个字符串中查找是否存在另外一个字符串

// // main.c // statisticsSpace // // Created by 邱学伟 on 15/7/25. // Copyright (c) 2015年 邱学伟. All rights reserved. // #include <stdio.h> #include "string.h" #define N 1000 //查找第二个字符串是否存在于第一个字符串中,若存在返回位置,否则返回NULL char *strstr_m(char *str1,ch

C语言 编写字符串操作函数strrchr,在字符串中查找目标字符最后一次出现的位置,返回指向这次位置的指针。

#include<stdio.h> #include<string.h> const char *my_strrchr(char const *str,int ch) { int i=0,len=0; len=strlen(str); for(i=len-1;i>=0;i--) { if(str[i]==ch) { return str+i; } } return NULL; } int main() { char ch='c'; char src[]="abcde

在一个字符串中查找另一个字符串出现的次数

#include<stdio.h> #include <string.h> int strstrcount( char *str1, char *str2 ) { char *str = str1; int c = 0; while( (str = strstr( str, str2 )) != NULL ) { c++; str++; } return c; } int main() { char str1[20]; char str2[20]; gets(str1); gets

在一个字符串中查找还有一个字符串出现的次数

#include<stdio.h> #include <string.h> int strstrcount( char *str1, char *str2 ) { char *str = str1; int c = 0; while( (str = strstr( str, str2 )) != NULL ) { c++; str++; } return c; } int main() { char str1[20]; char str2[20]; gets(str1); gets

C语言::模拟实现strlen函数

编写一个C语言程序模拟实现strlen函数. 算法 strlen函数功能是计算字符串中字符的个数.(除\0外) 而字符串本身就是一个字符数组,只不过末尾以\0结束. 因此,我们只需遍历除\0之外的所有字符即可. 有三种方法可以解决这个问题. 算法总结 方法一:设置一个整型计数器,遍历字符串. 方法二:通过不断函数自身的递归. 方法三:与方法一类似,设置一个char*变量标记字符串尾部,通过指针相减得到字符长度. 核心代码 //方法一:通过设置整型计数器,模拟实现strlen函数. int my_

【c语言】字符串替换空格:请实现一个函数,把字符串中的每个空格替换成“%20”

// 字符串替换空格:请实现一个函数,把字符串中的每个空格替换成"%20". // 例如输入"we are happy.",则输出"we%20are%20happy." #include <stdio.h> #include <assert.h> char* replace(char* p) { char* ret = p; int num = 0; int oldlen = 0; int newlen = 0; char