strcmp()函數(shù)原型是
我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、北安ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的北安網(wǎng)站制作公司
int??strcmp(const?char?*s1,const?char?*s2)
如果s1的字符串在機(jī)器編碼順序中落后于s2,函數(shù)返回值是一個大于0的整數(shù);如果兩個字符串相同的話,返回值是0;如果第一個字符串在機(jī)器編碼順序中先于第二個字符串,返回值是一個<0的數(shù)。
看函數(shù)的返回值類型是 int,那么你就可以定義一個int 值來表示,例如
int??cmp=strcmp(s1,s2)
cmp0說明s2s1;
cmp=0說明s2=s1;
cmp0說明s2s1;
或者可以直接使用
if(strcmp(str1,str2))
作為判斷條件。
你好,這是你對strcmp函數(shù)理解錯誤了。其原型是: extern int strcmp(const char *s1,const char * s2); 其功能是比較字符串s1與字符串s2,在C語言中,返回值有下面的規(guī)則得到:當(dāng)S1S2時,返回值為1 而在C++中,返回值是按照下面的規(guī)律得到:當(dāng)S1S2時,返回值大于0 而對S1與S2的比較是按照ASCII碼進(jìn)行比較的,即:兩個字符串自左向右逐個字符相比(按ASCII值大小相比較),直到出現(xiàn)不同的字符或遇'\0'為止。如: "A""A" "computer""compare" 而你輸入的是apple與banana,當(dāng)然是banana大于apple 希望對你有幫助
#include stdio.h
char my_cmp(char s1[],char s2[])
{
int i;
char t;
for(i=0; s1[i]!='\0'||(s2[i]!='\0'); i++)
if((t=s1[i]-s2[i])!=0)
break;
return t;
}
int main()
{
char s[4][30]= {"Hello","Hello","Helld","Hellp"};
int i;
char t;
for(i=1; i4; i++)
{
printf("比較%s和%s的結(jié)果是:",s[0],s[i]);
t=my_cmp(s[0],s[i]);
if(t==0)
printf("0\n");
else
printf("%d\n",t);
}
}