思路分析
比较两个字符串是否相等要看两个字符串的长度和内容是否一样,如果长度和内容有一个不一样那么这两个字符串不相等。
方法1:strcmp函数可以比较2个字符串的大小和内容是否一样,我们可以使用这个函数来进行判断。
知识补充:
strcmp函数用来比较两个字符串并且根据比较结果返回整数。如果两个字符串的长度和内容都相等,返回0,字符串1大于字符串2返回正数,字符串1小于字符串2返回负数。
strcmp函数的格式为:
strcmp(str1,str2);括号内是字符串名,用户可以自定义。
方法2:先用if语句和strlen函数(求字符串长度函数)判断一下两个字符串的长度是否一样,不一样直接判断两个字符串不等;如果字符串长度相等,那么接下来用for循环和if语句来判断两个字符串的内容是否一样,字符串长度和内容一样就判断两个字符串相等,如果字符串长度一样但内容不一样就判断两个字符串不等。
方法1代码如下
#include <stdio.h>
#include <string.h>
void main(){
char arr1[20]="hello world";
char arr2[20]="hello worla";
int a=strcmp(arr1,arr2);//如果两个字符串的长度和内容一样,返回0
if(a==0){
printf("相等");
}
else{
printf("不等");
}//如果两个字符串的长度和内容有一个不一样,就判断为不等
}
方法1代码运行结果如下
方法2代码如下
#include <stdio.h>
#include <string.h>
void main(){
char arr1[]="hello world";
char arr2[]="hello world";
int i,a=0;//a的作用:如果字符串长度相等,就判断内容是否一样,内容一样a就累加1
if(strlen(arr1)==strlen(arr2)){
for(i=0;arr1[i]!='\0';i++){
if(arr1[i]==arr2[i]){
a++;
}
else{
a=0;
}
}
if(a==strlen(arr1)){
printf("相等");
}
else{
printf("不等");
}
}
else{
printf("不等");
}
}
方法2代码如下
总结:使用strcmp函数比较两个字符串是否相等比较方便,不过方法2的思路也是可圈可点,不失为一种好办法。
因为方法1使用了string.h头文件下的strcmp函数的知识点,所以就发一下关于string.h头文件下一些常用函数讲解的博客(作者自己写的)作为知识补充。文章来源:https://www.toymoban.com/news/detail-574265.html
string.h头文件常用函数讲解https://blog.csdn.net/weixin_63279307/article/details/129055913?spm=1001.2014.3001.5502文章来源地址https://www.toymoban.com/news/detail-574265.html
到了这里,关于C语言比较两个字符串是否相等的案例讲解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!