写一个函数,比较两个字符串的大小
1个回答
展开全部
思路:字符串比较大小即两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。当s1<s2时,返回-1;当s1=s2时,返回 0;当s1>s2时,返回1。
参考代码:
#include <stdio.h>int strcmp(char *s1,char *s2) { int i ; for(i=0;(s1[i]!='\0')&&(s2[i] != '\0');i++) { if(s1[i] > s2[i]) return 1; else if(s1[i] < s2[i]) return -1; } if(s1[i] != '\0') return 1; if(s2[i] != '\0') return -1; return 0;}int main() { char a[100],b[100]; gets(a); gets(b); if(strcmp(a,b)==1) printf("字符串a>字符串b"); else if(strcmp(a,b)==0) printf("字符串a=字符串b"); else printf("字符串a<字符串b"); return 0;}/*运行结果:asdgasdg字符串a=字符串b*/
参考代码:
#include <stdio.h>int strcmp(char *s1,char *s2) { int i ; for(i=0;(s1[i]!='\0')&&(s2[i] != '\0');i++) { if(s1[i] > s2[i]) return 1; else if(s1[i] < s2[i]) return -1; } if(s1[i] != '\0') return 1; if(s2[i] != '\0') return -1; return 0;}int main() { char a[100],b[100]; gets(a); gets(b); if(strcmp(a,b)==1) printf("字符串a>字符串b"); else if(strcmp(a,b)==0) printf("字符串a=字符串b"); else printf("字符串a<字符串b"); return 0;}/*运行结果:asdgasdg字符串a=字符串b*/
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询