设为首页 加入收藏

TOP

2.8.4 常用字符串处理函数(2)
2013-10-12 07:01:31 来源: 作者: 【 】 浏览:114
Tags:2.8.4 常用 字符串 处理 函数

2.8.4 常用字符串处理函数(2)

5. 字符串比较函数strcmp

格式:

  1. strcmp(字符数组名1, 字符数组名2); 

功能:按ASCII码值的大小逐个比较两个字符串数组中的各个字符,直到出现不同的字符或遇到‘\0’为止。函数的返回值有以下3 种情况:

字符串1=字符串2,返回值为0。

字符串1>字符串2,返回值为一正整数。

字符串1<字符串2,返回值为一负整数。

strcmp函数也可用于比较两个字符串常量,或比较数组和字符串常量,如程序2.22。

【程序 2.22】比较两个字符串的大小:test22.c。

  1. #include <string.h> /*字符串处理函数头文件*/  
  2. main()  
  3. {  
  4. int k;  
  5. static char st1[15],st2[]="abcd"; /*定义两个字符串数组*/  
  6. printf("input a string: ");  
  7. gets(st1); /*输入字符串st1*/  
  8. k=strcmp(st1,st2); /*比较字符串st1 和st2*/  
  9. if(k==0) printf("st1=st2\n"); /*比较结果*/  
  10. if(k>0) printf("st1>st2\n");  
  11. if(k<0) printf("st1<st2\n");  

程序运行结果如下(↙表示回车):

  1. input a string: abck↙  
  2. st1>st2 

本程序中把输入的字符串和数组st2 中的字符串比较,比较结果返回给变量k,根据k值再输出比较结果。

6. 求字符串长度函数strlen

格式:

  1. strlen(字符数组名); 

功能:求字符串的实际长度(不含字符串结束标志‘\0’),并作为函数返回值,如程序2.23。

【程序 2.23】验证strlen函数的功能:test23.c。

  1. #include <string.h> /*字符串处理函数头文件*/  
  2. main()  
  3. {  
  4. int k;  
  5. static char str[]="abcde";  
  6. k=strlen(str); /*求字符串str 的长度*/  
  7. printf("The lenth of the string is %d\n",k);  

程序运行结果如下:

  1. The lenth of the string is 5 

可以看到,求取字符串的长度时,是指字符串的实际长度,并不包含在内存中自动添加的字符串结束标识符‘\0’。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.4.3 逗号运算符与逗号表达式 下一篇2.8.4 常用字符串处理函数(1)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: