字符串的操作
lemon13467
这个作者很懒,什么都没留下…
展开
-
oj题多组输入测试——实现多组字符串输入后进行逆序
*思路:该题比较简单,请参考代码*/void Reverse(char* str){ char* left = str; char* right = str + strlen(str)-1; while(left < right) { char temp = *left; *left = *right; *right = temp; ++left; --right; }}原创 2020-12-30 21:52:47 · 1090 阅读 · 0 评论 -
strcmp函数是这样实现的
在这里插入代码片●模拟库函数int strcmp ( const char * str1, const char * str2 );实现int my_strcmp(const char *str1, const char *str2){ assert(str1);//首先断言确保安全性 assert(str2); int ret=0; while(!(ret=*(unsigned char*)str1-*(unsigned char*)str2)&&*str2) {原创 2020-10-23 23:20:19 · 675 阅读 · 0 评论 -
实现字符串逆序(递归和非递归)
●字符串逆序通过指针分别指向字符串的首和尾进行操作void reserve(char *str){ char* left=str; char* right=str+strlen(str)-1; while(left<right) { char temp=*left; *left=*right; *right=temp; left++; right--; }}int main(){ char arr[]="asdfqwerj";原创 2020-11-13 22:04:39 · 693 阅读 · 0 评论 -
strlen函数的模拟实现(三种方法求解)
三种strlen的模拟函数(1)int my_strlen(char *arr){ int count=0; while(*arr) { count++; arr++; } return count;} (2) int my_strlen(char *arr) { if(*arr==0) { return 0; } return 1+my_strlen(arr+1); } (3) int m原创 2020-11-14 15:35:49 · 464 阅读 · 0 评论 -
strtok函数——通过分隔符对字符串进行分隔操作
●用分隔符分隔字符串int main(){ char str[]="asdfg| das,da asda"; char *sub=strtok(str,"| ,"); while(sub) //while循环 { printf("%s\n",sub); sub=strtok(NULL,"| ,"); } return 0;}int main(){ char str[]="asdfg| das,da asda"; for(char *sub=strtok(str原创 2020-11-16 21:52:32 · 875 阅读 · 0 评论 -
LeetCode——字符串前移和后移操作
●字符串前移 void fun(char *arr,int n){ int i=0; int j=0; for(i=1;i<=n;i++) { char temp=arr[0]; for(j=1;arr[j];j++) { arr[j-1]=arr[j]; } arr[j-1]=temp; } }int main(){char str[]="asdfgh";int len=strlen(str);fun(str,1);printf原创 2020-11-13 21:24:50 · 1397 阅读 · 1 评论