做网站的工作时间,引流量的网站,销售平台公司,国外 做励志视频的网站0.前言 当我们使用这些函数功能时#xff0c;可以直接调用头文件---#includestring.h#xff0c;然后直接使用就行了,本文只是手动编写实现函数的部分功能 1.strlen函数功能实现 功能说明#xff1a;strlen(s)用来计算字符串s的长度#xff0c;该函数计数不会包括最… 0.前言 当我们使用这些函数功能时可以直接调用头文件---#includestring.h然后直接使用就行了,本文只是手动编写实现函数的部分功能 1.strlen函数功能实现 功能说明strlen(s)用来计算字符串s的长度该函数计数不会包括最后的\0 例如strlen(abcde)就为5
#includestdio.h
int strlen(char s[])//strlen()函数
{int i;for (i 0; s[i] ! \0; i);return i;
}
int main()
{char s[50];gets(s);printf(%d, strlen(s));return 0;
}
2.strcpy函数功能实现 功能说明strcpy(to,from)将from这个字符串复制到to中(想成是tofrom顺序别反了) 例如toabc fromi love you 通过函数strcpy(to,from)to就为“i love you了 #includestdio.h
void strcpy(char to[],char from[])//strcpy函数
{int i;for (i 0; from[i] ! \0; i)//这个循环里将from这个字符数组除了最后{ //一个元素\0之外的全部元素copy给了toto[i] from[i];}to[i] \0;//记住最后加个\0作为字符串结尾
}
int main()
{char from[50],to[50];gets(from);strcpy(to, from);puts(to);return 0;
}
3.strcat函数功能实现 功能说明strcat(s1,s2)就是将s2字符串接s1字符串后面同样顺序别反了 例如s1hello s2 worldw前有一个空格 通过函数strcat(s1,s2)s1就为”hello world了 #includestdio.hvoid MyStrcat(char* s1, char* s2)
{int i, j;for (i 0; *(s1i) ! \0; i);for (j 0; *(s2j) ! \0; j)//让s2中每一个字符都加进s1中直到s2结尾为止跳出循环{*(s1i) *(s2j);}*(s1i) \0;//末尾记得加\0作为字符串结尾
}int main()
{char s1[100], s2[50];printf(Input a string:);gets(s1);printf(Input another string:);gets(s2);MyStrcat(s1, s2);printf(Concatenate results:%s\n, s1);return 0;
} 4.字符串中删除某个字符 功能说明就是删除s字符串中某个字符a 例如shello world! ao 通过函数Delete(s,a),s就变为了hell wrld! #includestdio.hvoid Delete(char* s,char a)
{int i,j;for(i0;*(si)!\0;i){if(*(si)a){for(j0;*(sij)!\0;j)*(sij)*(sij1);}}
}int main()
{char s[50];char a;printf(Input a string:);gets(s);printf(Input a character:);scanf(%c,a);Delete(s,a);printf(Results:%s\n,s);return 0;
} 5.计算字符串中子串的个数 例如s1ahhhhabbbbab s2ab 通过FindString(s1,s2)计算出子串s2ab在字符串s1中出现了2次 #includestdio.hint FindString(char* s1, char* s2)
{int i,j,n0;for (i 0; *(s1 i) ! \0; i){if (*(s1 i) *s2){for (j 0; *(s2 j) ! \0; j){if (*(s1 i) ! *(s2 j)) break;i;}if (*(s2 j) ! \0) n;}}return n;
}int main()
{char s1[50], s2[50];gets(s1);gets(s2);int n FindString(s1, s2);printf(%d, n);
}