字符串中查找子串
2016-06-11 18:52
190 查看
使用C语言编写程序:
1、在字符串中查找一个指定的字符第一次出现的位置,并返回字符所在的位置,如果不存在则返回NULL
具体实现如下:
void test()
{
char const* str = ]小知识:编写程序判断你的电脑是小端存储还是大端存储。
大端模式:是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;
小端模式:是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。
void test()
{
int num = 3;//Ox000003
char* p = (char*)#
for (int i = 0; i < 4; i++)
{
printf("%d ", *p);
p++;
}
if (3 == *(char*)&num)
{
printf("小端存储!\n");
}
else
{
printf("大端存储!\n");
}
}[/code]本文出自 “Scen” 博客,请务必保留此出处http://10741357.blog.51cto.com/10731357/1758613
1、在字符串中查找一个指定的字符第一次出现的位置,并返回字符所在的位置,如果不存在则返回NULL
具体实现如下:
char* strstr(char const *s1, char const *s2) { char* str = (char*)s1; char* ch = (char*)s2; char* cur = str;//设置cur标志位 while (cur) { char* p1 = cur; char* p2 = ch; while (p1 && p2 && *p1 == *p2)//注意此处用*p1和*p2比较两个是否相同 { p1++; p2++; } if (*p2 == '\0')//注意此处不能用p2==NULL return cur; else cur++; } return NULL; }测试如下:
void test()
{
char const* str = ]小知识:编写程序判断你的电脑是小端存储还是大端存储。
大端模式:是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;
小端模式:是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。
void test()
{
int num = 3;//Ox000003
char* p = (char*)#
for (int i = 0; i < 4; i++)
{
printf("%d ", *p);
p++;
}
if (3 == *(char*)&num)
{
printf("小端存储!\n");
}
else
{
printf("大端存储!\n");
}
}[/code]本文出自 “Scen” 博客,请务必保留此出处http://10741357.blog.51cto.com/10731357/1758613
相关文章推荐
- 实现大数四则运算
- 一个数组实现两个栈
- 迷宫问题
- mongodb的基本操作与插入文档(document)
- 360
- 经典问题之最大子矩阵
- 判断一个字符串是否为另外一个字符串旋转之后的字符串
- 字符串和对应的整数之间的转换
- 编写一个函数itob(),将整数n转换为以b进制的数,保存到s中
- 二维数组中的查找—杨氏矩阵
- 编写一个函数将参数字符串中的字符反向排列
- 在终端输入多行信息,找出包含“ould”的行,并打印改行
- 编写冒泡排序,排序一个整形数组
- 模拟实现printf
- 调整数组使奇数全部都位于偶数前面
- 找出数组中两个只出现了一次的数
- 实现常用字符串处理函数(不调用库函数)
- strlen函数的多种实现方式
- 编写冒泡排序,可以排序整形数组,也可以排序字符串
- 实现一个简易通讯录