《C与指针》习题6.18.1

 

题目:函数在一个字符串中进行搜索,查找所有在一个给定字符集合中出现的字符

函数原型:char *find_char( char const *source, char const *chars);

 

代码

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

char *find_char( char const *source, char const *chars );


void main( void )
{
	char *p = NULL;
	p = find_char("hello_world","e");
	if( NULL != p) printf("%c\n",*p);
		
	return ;
}


/*查找字符串中的指定字符
**source:目标字符串   chars:源字符或者串
**返回 成功:匹配字符的地址 失败:NULL
*/
char *find_char( char const *source, char const *chars )
{
	char const *paddr = source;
	assert( paddr );    //检查地址有效性

	while( *paddr != '\0' )
	{
		if( *paddr == *chars )
		{
			return (char *)paddr;
		}
		paddr++;
	}
	return NULL;
}

 

演示