Q:
C语言如何比较两个【字符】或者【字符串】是否相等?
A:
比较字符可以直接使用==比较操作符,如:
char c1='a',c2='b';
if(c1==c2) printf("%c is same as %c.",c1,c2);
else printf("%c is different to %c",c1,c2);
若是字符串,则需要使用字符串函数了,strcmp
char s1[]="abc",s2[]="xyz";
if(strcmp(s1,s2)==0) printf("%s is same as %s.",s1,s2);
也可以忽略大小写来比较,使用函数stricmp 中间的i意思是ignore case sensitive
还可以指定长度比较,strncmp,如:
char s1[]="abc",s2[]="abcdefg";
if(strncmp(s1,s2,3)==0) printf("first 3 characters are same");
若不是从开头位置开始比较,如:
char s1[]="abc",s2[]="xyzabc"
if(strncmp(s1,&s2[3],3)==0) 就是比较s1和s2的第3个字符开始的内容
Egg:
#include <string.h>
char s1[10],s2[10];
...
if(strcmp(s1,s2)==0)
printf("两字符串相等\n");
string.h 头文件中就有比较函数,可以用来比较是否相等
来自:http://zhidao.baidu.com/link?url=9gRfWtoqGKzO_Y-aSb5H56QDSkKTblfzFYBoWrggRtxNaXSF3YI1MSo_gnsYvsoVdL_bN4AqEULfDLKMLvZtoq
C语言如何比较两个【字符】或者【字符串】是否相等?
A:
比较字符可以直接使用==比较操作符,如:
char c1='a',c2='b';
if(c1==c2) printf("%c is same as %c.",c1,c2);
else printf("%c is different to %c",c1,c2);
若是字符串,则需要使用字符串函数了,strcmp
char s1[]="abc",s2[]="xyz";
if(strcmp(s1,s2)==0) printf("%s is same as %s.",s1,s2);
也可以忽略大小写来比较,使用函数stricmp 中间的i意思是ignore case sensitive
还可以指定长度比较,strncmp,如:
char s1[]="abc",s2[]="abcdefg";
if(strncmp(s1,s2,3)==0) printf("first 3 characters are same");
若不是从开头位置开始比较,如:
char s1[]="abc",s2[]="xyzabc"
if(strncmp(s1,&s2[3],3)==0) 就是比较s1和s2的第3个字符开始的内容
Egg:
#include <string.h>
char s1[10],s2[10];
...
if(strcmp(s1,s2)==0)
printf("两字符串相等\n");
string.h 头文件中就有比较函数,可以用来比较是否相等
来自:http://zhidao.baidu.com/link?url=9gRfWtoqGKzO_Y-aSb5H56QDSkKTblfzFYBoWrggRtxNaXSF3YI1MSo_gnsYvsoVdL_bN4AqEULfDLKMLvZtoq
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/7855/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2017-10-1 22:41
评论列表