C语言学习笔记 | 您所在的位置:网站首页 › 3060ti1080ti对比 › C语言学习笔记 |
strcmp() 函数
在c语言中比较两个字符串内容是否相等,通常使用strcmp()函数来比较。它的使用方法很简单,两个参数就是要比较的字符串。 int main(int argc, char *argv[]) { char *str1="abc"; char *str2="123"; int ret = 0; ret = strcmp(str1,str2); printf("%d\r\n",ret); system("pause"); return 0; }这里比较两个字符串str1和str2,输出结果如下: 修改代码如下: int main(int argc, char *argv[]) { int ret = 0; ret = strcmp("b","b"); printf("b,b %d\r\n",ret); ret = strcmp("b","a"); printf("b,a %d\r\n",ret); ret = strcmp("b","c"); printf("b,c %d\r\n",ret); system("pause"); return 0; } 分别比较 字母b和b、b和a、b和c 的大小,输出结果如下: 下面这种用法是错误的。 ret = strcmp('b','b'); printf("b,b %d\r\n",ret);单个字符的本质其实是整数类型,所以在比较字符的时候,就可以直接使用关系运算符来进行比较。 if('b' == 'b') printf("equal \r\n"; strcnmp()函数strcmp()函数比较字符串的时候是比较的全部字符,但是有时候在比较字符串的时候并不需要全部比较完,比如想查找以某几个字符开头的单词,这时候只需要比较前几个字母就行了。那么此时使用strcmp()函数进行比较的时候就会比较麻烦。这时就可以使用strncmp()函数来进行比较,strncmp()函数相比strcmp()函数增加了第三个参数,用来设置需要比较的字符个数。 修改上面的代码如下: int main(int argc, char *argv[]) { char *str1 = "abcdef"; char *str2 = "abc123"; int ret = 0; ret = strncmp(str1,str2,3); printf("%d\r\n",ret); system("pause"); return 0; } 字符串1和字符串2不相等,但是前3个字符是相等的,这里使用strncmp()函数只比较这两个字符串前三个字符。 这样通过第三个参数的值,就可以控制比较字符串的个数,使用起来也更加灵活了。 |
CopyRight 2018-2019 实验室设备网 版权所有 |