思路分析
比較兩個字符串是否相等要看兩個字符串的長度和內(nèi)容是否一樣,如果長度和內(nèi)容有一個不一樣那么這兩個字符串不相等。
方法1:strcmp函數(shù)可以比較2個字符串的大小和內(nèi)容是否一樣,我們可以使用這個函數(shù)來進行判斷。
知識補充:
strcmp函數(shù)用來比較兩個字符串并且根據(jù)比較結(jié)果返回整數(shù)。如果兩個字符串的長度和內(nèi)容都相等,返回0,字符串1大于字符串2返回正數(shù),字符串1小于字符串2返回負數(shù)。
strcmp函數(shù)的格式為:
strcmp(str1,str2);括號內(nèi)是字符串名,用戶可以自定義。
方法2:先用if語句和strlen函數(shù)(求字符串長度函數(shù))判斷一下兩個字符串的長度是否一樣,不一樣直接判斷兩個字符串不等;如果字符串長度相等,那么接下來用for循環(huán)和if語句來判斷兩個字符串的內(nèi)容是否一樣,字符串長度和內(nèi)容一樣就判斷兩個字符串相等,如果字符串長度一樣但內(nèi)容不一樣就判斷兩個字符串不等。
方法1代碼如下
#include <stdio.h>
#include <string.h>
void main(){
char arr1[20]="hello world";
char arr2[20]="hello worla";
int a=strcmp(arr1,arr2);//如果兩個字符串的長度和內(nèi)容一樣,返回0
if(a==0){
printf("相等");
}
else{
printf("不等");
}//如果兩個字符串的長度和內(nèi)容有一個不一樣,就判斷為不等
}
方法1代碼運行結(jié)果如下
方法2代碼如下
#include <stdio.h>
#include <string.h>
void main(){
char arr1[]="hello world";
char arr2[]="hello world";
int i,a=0;//a的作用:如果字符串長度相等,就判斷內(nèi)容是否一樣,內(nèi)容一樣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代碼如下
總結(jié):使用strcmp函數(shù)比較兩個字符串是否相等比較方便,不過方法2的思路也是可圈可點,不失為一種好辦法。
因為方法1使用了string.h頭文件下的strcmp函數(shù)的知識點,所以就發(fā)一下關(guān)于string.h頭文件下一些常用函數(shù)講解的博客(作者自己寫的)作為知識補充。文章來源:http://www.zghlxwxcb.cn/news/detail-574265.html
string.h頭文件常用函數(shù)講解https://blog.csdn.net/weixin_63279307/article/details/129055913?spm=1001.2014.3001.5502文章來源地址http://www.zghlxwxcb.cn/news/detail-574265.html
到了這里,關(guān)于C語言比較兩個字符串是否相等的案例講解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!