解题思路:
这道题 主要考察了字符串函数的使用,在这里我给大家写一下字符串函数的模拟实现,让大家更加理解字符串函数,从而让大家使用的更舒服
首先说一下字符串函数有哪些
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 人评分
WU-蓝桥杯算法提高VIP-交换Easy (C++代码)浏览:1186 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:904 |
关于float,double变量的几点说明浏览:1926 |
简单的a+b (C语言代码)浏览:618 |
钟神赛车 (C语言代码)浏览:665 |
矩形面积交 (C语言代码)浏览:1433 |
生日日数 (C语言代码)浏览:1575 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:595 |
小O的乘积 (C++代码)浏览:545 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:2755 |