10)字符串知识
- 字符'\0' ASCII值是0 但是0的ASCII值是48,所以 strlen遇到'\0'就停止 但是 sizeof是测得数组的长度,包含'\0'和0 滑油输出时’%s'也是,遇到'\0'就停止输出了
- strcpy 是会把字符串的那个\0复制过去的 比如:
- strstr(指针1,指针2) 返回值是一个指针,这个指针指向在 ‘指针1’中 ‘指针2’的首地址,比如
-
#include<stdio.h>
#include<string.h>
#include"c.h"
int main()
{
char *p="123456123789123";
char a[]="78";
p=strstr(p,a);
printf("%s",p);
return 0;
} - 就是在p中是否有a 这个结果输出:789123
-
- 我搜索一个长的字符串里面有多少个小的串--就用strlen和strstr
-
1 //函数的实现 2 #include<stdio.h> 3 #include<string.h> 4 #include"c.h" 5 int main() 6 { 7 char *p="123456123789123"; 8 int c=0; 9 char a[]="123"; 10 /*p=strstr(p,a);*/ 11 12 while(p!=NULL) 13 { 14 p=strstr(p,a);//判断这个p是否有a,要是有 那个p就指向在之前那个p的位置,要是没有,就指向为空 15 if(p!=NULL)//说明在p中有a, 16 { 17 p=p+strlen(a);//p得偏移啊,不然,就老是循环(就是,饿哦没有这个,那个p一直指向
"123456123789123" 加了这个代码,p就指向了 456123789123
18 c++; 19 } 20 21 } 22 printf("%d\n",c); 23 return 0; 24 }
-
- 两头堵模型 形如 ” abcdefg “ 这样的字符串,前后都有空格的,我们用两个指针进行前后堵 比如 ” abc adsaf sfdsf fasdfs fasdf “ 求这个里面包含的非空格字符串的个数 那么就用两个指针 一个指向头部,一个指向尾部。
- 因为那个数组有100个元素,所以结果是100
-
-