原题链接:[编程入门]三个字符串的排序
解题思路:
这道题 主要考察了字符串函数的使用,在这里我给大家写一下字符串函数的模拟实现,让大家更加理解字符串函数,从而让大家使用的更舒服
首先说一下字符串函数有哪些
1、strlen 求字符串函数的长度
2、strcmp(str1,str2) 比较str1与str2 如果str1 > str2 返回1 如果相等就返回0 否则返回 -1 但是在定义上只是前面的大返回正数 而没有说什么哪一个数
2、strcat(str1,str2) 把str2拼接到str1后面,扫描第一个'\0'
4、strcpy(str1,str2) 把str2的值拷贝到str1里面去 如果str1的长度不对则抛出异常
注意事项:
注意一下我写的函数名;
注意一下这些代码只是帮助大家理解字符串库函数,有些细节为了节约时间 所以没写。
参考代码:
int My_strlen(char arr[]) { int len = 0; char* p = arr;// 指针P指向数组的开始位置 while((*p) != '\0') { len ++; p++; } return len; } int My_strcmp(char arr1[], char arr2[]) { char* p1 = arr1; char* p2 = arr2; while((*p1) != '\0' && (*p2)!= '\0') { if(*p1 > *p2) { return 1; } else if (*p1 == *p2) { return 0; } else { return -1; } p1++; p2++; } if(*p1 == *p2 && *p1 =='\0') return 0; if(*p1 == '\0') return -1; if(*p2 == '\0') return 1; } void My_strcat(char* arr1,char* arr2) { // 这里实现的是和真实的有些区别,就理解一下 从第一个遇到\0后面开始拼接哈 char* p1 = arr1,*p2 = arr2; while(*p1 != '\0') { p1++; } while(*p2 != '\0') { *p1 ++ = *p2 ++; } } void My_strcpy(char arr1[],char arr2[]) { char* p1 = arr1; char* p2 = arr2; do { *p1 ++ = *p2 ++; }while(*p2 != '\0'); }
0.0分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复