编写函数strcmp,比较两个字符串的大小,(不得调用c语言提供的比较字符串大小的函数),函数返回较小的字符串;编写函数strlencmp,比较两个字符串的长度,(不得调用c语言提供的求字符串长度的函数),函数返回较短的字符串。若两个字符串长度相同,则返回第一个字符串。在main函数中验证。要求:字符串在main函数中由键盘输入。
2条回答 默认 最新
- CSDN专家-link 2022-03-02 22:04关注
两个字符串逐个字符比较,如果全相同返回0。找到第一个不同的字符,比较该字符大小即为结果。
#include <stdioh> int strlen(char *s) { int j=0,len = 0; while(s[j] != '\0') { len++; j++; } return len; } int strcmp(char *s1,char *s2) { int i=0; while(s1[i] != '\0' && s2[i] != '\0') if(s1[i] != s2[i]) { if(s1[i] > s2[i]) return 1; return -1; } else i++; if(s1[i] == '\0' && s2[i] == '\0') return 0; if(s1[i] != '\0') return 1; return 0; } int strlencmp(char *s1,char *s2) { int len1 = strlen(s1); int len2 = strlen(s2); if(len1 == len2) return 0; else if(len1 > len2) return 1; return -1; } int main() { char s1[1000],s2[1000]; gets(s1); gets(s2); printf("%d\n",strlencmp(s1,s2)); printf("%d\n",strcmp(s1,s2)); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报 编辑记录无用 1